Você está na página 1de 77

UNIVERSIDADE PRESBITERIANA MACKENZIE

PROGRAMA DE PÓS-GRADUAÇÃO EM
ENGENHARIA ELÉTRICA E COMPUTAÇÃO

Ricardo Ribani

CODIFICAÇÃO DE IMAGENS EM SINAIS TÁTEIS ATRAVÉS


DE REDES NEURAIS CONVOLUCIONAIS

Tese apresentada ao Programa de Pós-Graduação


em Engenharia Elétrica e Computação da Uni-
versidade Presbiteriana Mackenzie, como requisito
para obtenção do Título de Doutor em Engenharia
de Computação.

Orientador: Prof. Dr. Maurício Marengoni

São Paulo
2020
R482c Ribani, Ricardo
Codificação de imagens em sinais táteis através de redes neurais convolucionais / Ricardo
Ribani – São Paulo, 2020.

77 F.: Il., 30 Cm.

Doutorado (Doutorado em Engenharia Elétrica e Computação - Universidade Presbiteriana


Mackenzie - São Paulo, 2020.
Orientador: Prof. Dr. Mauricio Marengoni
Bibliografia: F. 71-77

1. Visăo computacional 2. Redes Neurais 3. Substituição sensorial 4. Tecnologia Assistiva, 5.


Interface Háptica ; Marengoni, Mauricio Orientador. II.Título.

CDD 006.32

Bibliotecária Responsável: Maria Gabriela Brandi Teixeira – CRB 8/ 6339


Folha de Identificação da Agência de Financiamento

Autor: Ricardo Ribani

Programa de Pós-Graduação Stricto Sensu em Engenharia Elétrica e Computação

Título do Trabalho: CODIFICAÇÃO DE IMAGENS EM SINAIS TÁTEIS ATRAVÉS DE REDES


NEURAIS CONVOLUCIONAIS

O presente trabalho foi realizado com o apoio de 1:


CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico
FAPESP - Fundação de Amparo à Pesquisa do Estado de São Paulo
Instituto Presbiteriano Mackenzie/Isenção integral de Mensalidades e Taxas
MACKPESQUISA - Fundo Mackenzie de Pesquisa
Empresa/Indústria:
Outro:

1
Observação: caso tenha usufruído mais de um apoio ou benefício, selecione-os.
Agradecimentos
Agradeço, primeiramente a Deus, por me conduzir até aqui.

Agradeço ao meu professor Mauricio Marengoni por direcionar os meus estudos, pelo
incentivo, por acreditar que eu era capaz e por ser um exemplo prossional pra mim.

Aos meus pais, Ricardo e Iolanda, por terem me dado educação, por me ensinarem os
valores da vida e me direcionarem a cada dia para ser uma pessoa melhor.

Aos meus irmãos, por estarem sempre ao meu lado, me ajudarem e acreditarem.

Agradeço à minha esposa Ana Maria, pelo companheirismo e compreensão nos momentos
mais difíceis e ao meu lho Thomas, que com seu sorriso e sua energia me deu forças para
seguir em frente e alcançar esse objetivo.

Aos meus amigos que sempre acreditaram em mim.

Agradeço ao Instituto de Cegos Padre Chico, principalmente a professora Luciana Ruiz,


por receber nossa visita, esclarecer dúvidas e colocar-se à disposição para ajudar na pes-
quisa.

Ao Mackpesquisa pela bolsa concedida.

E à todos que zeram parte, direta ou indiretamente, deste processo.

i
RESUMO
Este trabalho apresenta a criação de um sistema de substituição sensorial de visão através
de um colete com atuadores vibrotáteis posicionados nas costas do usuário. Foi realizada
uma pesquisa sobre substituição sensorial e teoria da plasticidade, visando entender me-
lhor a capacidade adaptativa do cérebro e como, na ausência da visão, as informações
normalmente processadas por esse sentido podem ser codicadas por meio do tato. Em
complemento ao hardware desenvolvido, também foi criado um sistema para codicação
de imagens em sinais táteis utilizando redes convolucionais. Além de testes iniciais com
modelos de classicação e detecção de objetos, foram avaliados dois métodos novos para
codicação de imagens em sinais táteis por meio de redes neurais convolucionais, um bag of
convolutional features (BoF) e um vector of locally aggregated descriptors (VLAD). Nesse
trabalho, também é apresentado um método totalmente novo para avaliar a propriedade
semântica do sinal codicado, baseando-se na ideia de que objetos parecidos devem gerar
sinais parecidos na interface tátil. Foi criada a métrica de semantic property evaluation
(SPE). Utilizando essa métrica, foi demonstrada a vantagem de utilizar os algoritmos
de BoF e VLAD, com valores de SPE de 70,7% e 64,5%, respectivamente, o que é uma
melhoria considerável em relação ao método de redução de escala de imagens utilizado
por diversos sistemas até então, como o BrainPort, com 56,2% de SPE.

Palavras-chave: Visão computacional, Redes Neurais, Substituição sensorial,


Tecnologia Assistiva, Interface Háptica

ii
ABSTRACT
The present work proposes the creation of a system that implements the sensory subs-
titution of vision through a wearable item with actuators positioned in the back of the
user. A research across the sensory substitution and plasticity domain was made in order
to understand the capacity of the brain to adapt and investigate ways of encode informa-
tion from vision to touch. In addition to the hardware developed, a system is proposed
to encode vision-to-touch using convolutional neural networks. Beyond the initial tests
with classication and object detection models, we evaluated two methods that have ne-
ver been used for encoding vision-to-touch using convolutional neural networks, a bag of
convolutional features (BoF) and a vector of locally aggregated descriptors (VLAD). In
this work, a very new method is present for evaluating the semantic property of the enco-
ded signal by taking the idea that objects with similar features must have similar signals
in the tactile interface; we created a semantic property evaluation (SPE) metric. Using
this metric, we proved the advantage of using the BoF and VLAD methods, obtaining
an SPE of 70.7% and 64.5%, respectively, which is a considerable improvement over the
downscaling method used by many systems such as BrainPort, with 56.2%.

Keywords: Sensory Substitution, Plasticity, Vibrotactile, Deep Learning, Object


Detection

iii
Sumário

1 INTRODUÇÃO 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Trabalhos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Estrutura da tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 REFERENCIAL TEÓRICO 11
2.1 Substituição sensorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Deep learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.1 Arquiteturas de redes convolucionais . . . . . . . . . . . . . . . . . 14

2.2.2 Modelos de detecção de objetos . . . . . . . . . . . . . . . . . . . . 18

2.3 Frameworks de conjuntos de descritores locais . . . . . . . . . . . . . . . . 21

2.3.1 Bag of features (BoF) . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3.2 Vector of locally aggregated descriptors (VLAD) . . . . . . . . . . . 24

3 MATERIAIS E MÉTODOS 26
3.1 Protótipo versão 1 (Max. 10 motores) . . . . . . . . . . . . . . . . . . . . . 26

3.2 Protótipo versão 2 (Máx. 30 motores) . . . . . . . . . . . . . . . . . . . . . 29

3.3 Codicação de imagens em sinais táteis com vocabulário xo . . . . . . . . 30

3.3.1 Classicação e mapa de ativação . . . . . . . . . . . . . . . . . . . . 30

3.3.2 Detecção de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 Codicação de imagens em sinais táteis com conjuntos de descritores locais 35

3.4.1 Extração de descritores locais de redes neurais convolucionais . . . 36

3.4.2 Codicação com BoF e VLAD . . . . . . . . . . . . . . . . . . . . . 38

3.5 Avaliação semântica do sinal . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.5.1 Métrica de comparação por referência . . . . . . . . . . . . . . . . . 40

3.5.2 Métrica de pontuação . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 EXPERIMENTOS E RESULTADOS 45
4.1 Codicação com classicação e mapa de ativação . . . . . . . . . . . . . . 45

4.2 Codicação com detecção de objetos . . . . . . . . . . . . . . . . . . . . . 45

4.3 Avaliação das métricas de comparação . . . . . . . . . . . . . . . . . . . . 47


4.4 Experimento com 16 imagens . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.5 Experimento com o CIFAR-10 . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.6 Experimento com o MS COCO . . . . . . . . . . . . . . . . . . . . . . . . 53

4.7 Comparação entre BoF, VLAD e Downscaling . . . . . . . . . . . . . . . . 54

5 CONCLUSÕES E TRABALHOS FUTUROS 56

REFERÊNCIAS BIBLIOGRÁFICAS 65
Lista de Figuras
1 Sistema TVSS. Fonte: BACH-Y-RITA et al. (1969). . . . . . . . . . . . . . 7

2 (a) Sistema BrainPort V100 com a câmera montada em um óculos, dispo-


sitivo colocado na língua com uma matriz de eletrodos 20x20 e unidade de
processamento. (b) Sistema BrainPort em uso. Fonte: Stronks et al. (2016). 8

3 Exemplo de imagem capturada pela câmera do sistema BrainPort e imagem


transformada para ativação dos eletrodos. Stronks et al. (2016). . . . . . . 8

4 Sistema desenvolvido por Pereira (2006). Fonte: Pereira (2006). . . . . . . 9

5 Sistema VEST desenvolvido por Novich (2015). . . . . . . . . . . . . . . . 10

6 Representação de como os caracteres em braille são ltrados ao passar para


a pele. Fonte: Loomis, Klatzky e Giudice (2012) . . . . . . . . . . . . . . . 13

7 Arquitetura da rede LeNet-5, utilizada para classicação de dígitos. Fonte:


LeCun et al. (1998). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

8 Arquitetura da rede VGG com 19 camadas. Fonte: Imagem adaptada a


partir da estrutura descrita por Simonyan e Zisserman (2015). . . . . . . . 17

9 Módulo Inception utilizado na rede GoogLeNet, com redução de dimensio-


nalidade. Fonte: Szegedy et al. (2015). . . . . . . . . . . . . . . . . . . . . 17

10 Bloco residual da rede ResNet. Fonte: He et al. (2015). . . . . . . . . . . . 18

11 Algoritmo de detecção de objetos YOLO. (REDMON et al., 2016). . . . . 20

12 Comparação da rede SSD e YOLOv1. Fonte: Liu et al. (2015). . . . . . . . 21

13 Representação da geração do vocabulário de palavras visuais. . . . . . . . . 22

14 Representação do agrupamento realizado pelo algoritmo k-means, com seus


respectivos centros de massa indicados pelos circulos maiores de cada grupo. 24

15 Imagem da parte interna do colete. . . . . . . . . . . . . . . . . . . . . . . 27

16 Imagens do colete vestido e do detalhe da câmera. . . . . . . . . . . . . . . 28

17 Diagrama do protótipo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

18 Comparação entre os protótipos versão 1 e versão 2. . . . . . . . . . . . . . 29

19 Detalhe do motor de vibração utilizado na versão 2 do protótipo e o con-


junto de 30 motores montados na parte interna do colete. . . . . . . . . . . 30

20 Imagens utilizadas para os testes e padrão do sinal para a classe guitarra. 31

21 Imagens utilizadas para os testes e padrão do sinal para a classe notebook. 31

22 Cálculo do mapa de ativação para a classe detectada. Fonte: Zhou et al.


(2015). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

23 Modelo com uma saída adicional com redução de dimensionalidade e exem-


plo de saída que será gerada nos motores do colete. Adaptado de Zhou et
al. (2015). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
24 Detecção de um objeto (xícara) na imagem e valores de acionamento dos
motores do colete para a classe e posição. . . . . . . . . . . . . . . . . . . . 35

25 Processo de extração da lista de descritores locais a partir da camada Ll .


l
Cada camada da rede possui hl × wl descritores fi,j de tamanho dl . . . . . 38

26 Passo a passo completo do processo de codicação da imagem em sinais


táteis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

27 Matriz Dc gerada a partir da matriz Di da Figura ??. . . . . . . . . . . . . 41

28 Matriz de referência de distâncias entre classes G0.5 . A diagonal principal é


setada com zeros e contém a comparação de cada classe para si mesma. As
posições entre classes de diferentes superclasses, são setadas com valores
igual a 1. Já as classes diferentes, mas dentro da mesma superclasse são
setadas com valor x, nesse exemplo x é igual a 0.5. . . . . . . . . . . . . . 41

29 Plotagem das três funções de pontuação. . . . . . . . . . . . . . . . . . . . 44

30 Resultado da execução do sistema de localização para duas classes, xando


a classe desejada na saída. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

31 16 imagens utilizadas no experimento inicial. . . . . . . . . . . . . . . . . . 49

32 Matrizes Dc calculadas a partir das saídas da última camada de convolução


2D da VGG16 para o conjunto de 16 imagens e utilizando os métodos (a)
BoF e (b) VLAD, para codicação dos vetores descritivos. Os valores em
verde mostram qual é a classe mais parecida por linha. Os valores em
vermelho mostram qual é a classe menos parecida. . . . . . . . . . . . . . . 50

33 Valores SPE calculados com os métodos BoF e VLAD no conjunto de 16


imagens e utilizando descritores locais extraídos de diferentes camadas da
rede VGG16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

34 Exemplos de imagens do CIFAR-10. . . . . . . . . . . . . . . . . . . . . . . 52

35 Valores SPE calculados com os métodos BoF e VLAD na coleção de imagens


CIFAR-10 e utilizando descritores locais extraídos de diferentes camadas
da rede VGG16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

36 Cortes das imagens extraídos do MS COCO. . . . . . . . . . . . . . . . . . 53

37 Valores SPE calculados com os métodos BoF e VLAD na coleção de imagens


MS COCO e utilizando descritores locais extraídos de diferentes camadas
da rede VGG16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Lista de Tabelas
1 Características de um sistema de navegação. (TAPU; MOCANU; TAPU,
2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2 Valores de precisão das redes YOLOv3 e SSD no banco de dados MS COCO.


Fontes: Redmon e Farhadi (2018) e Tensorow (2019). . . . . . . . . . . . 22

3 Valores de FPS medidos no processamento dos modelos de detecção de


objetos e valores de mAP no MS COCO (disponibilizados pelos autores).
Fontes: Redmon e Farhadi (2018) e Tensorow (2019) . . . . . . . . . . . . 47

4 Comparação dos valores de SPE entre o sinal codicado utilizando os mé-


todos BoF, VLAD e redução de tamanho de imagens. . . . . . . . . . . . . 55
1 INTRODUÇÃO

Os estudos na área de substituição sensorial têm demonstrado a capacidade do cérebro

em se adaptar a diferentes padrões, independente da origem do sinal (RITA; KERCEL,

2003). Com a ausência da percepção de um dos sentidos, o córtex visual em pessoas cegas,

ou o córtex auditivo em pessoas surdas, pode ser reorganizado para suportar outras fun-

ções cognitivas. O cérebro modica sua estrutura organizacional para reconhecer novos

padrões, e após algum treinamento, o indivíduo pode passar a interpretar esses padrões,

mesmo que sejam complexos. Essa teoria foi validada em experimentos com pessoas de-

cientes e utilizando interfaces táteis, onde pessoas cegas passaram a reconhecer alguns

objetos ou navegar sem supervisão (DAKOPOULOS; BOURBAKIS, 2008) e pessoas sur-

das passaram a identicar algumas palavras (NOVICH, 2015). Geldard (1960) descreve

a importância do tato em relação a visão e a audição, que são superiores, a visão com a

percepção espacial, e a audição com a percepção temporal. Entretanto, o tato possui a

capacidade de prover ambos.

Na codicação de áudio para sinais táteis, palavras parecidas devem ter sinais pare-

cidos. Da mesma forma, ao enviar informações por meio de uma interface tátil, o sinal

codicado deve ser compactado e deve produzir um sinal de forma que a saída seja pa-

recida para objetos que também tenham características parecidas, ou seja, o sinal deve

ser codicado através de uma função que o cérebro seja capaz de aprender a decodicar

(NOVICH, 2015).

Normalmente os dispositivos táteis são limitados em relação ao número de atuado-

res, o que reduz a largura de banda do sistema e aumenta a complexidade em codicar

uma imagem por meio desses dispositivos. Muitos dos trabalhos na área de substituição

de visão buscam preservar as informações relevantes da imagem codicando-a em sinais

táteis através da redução de escala e conversão para um canal único, de forma que cada

pixel da imagem seja projetado na matriz de ativação da interface (BACH-Y-RITA et

al., 1969; BACH-Y-RITA et al., 1998; RITA; KERCEL, 2003; STRONKS et al., 2016;

PEREIRA, 2006). Essa forma de codicação ainda é muito simples, e os resultados de

reconhecimento de objetos obtidos nesses trabalhos demostram isso. Os melhores resulta-

dos foram do sistema BrainPort (GRANT et al., 2016), com uma taxa de 75% de acerto

1
para reconhecimento de apenas 4 classes de objetos e uma largura de banda de 400 pi-

xels. Acredita-se que o cérebro humano seja capaz de reconhecer sinais mais complexos,

contanto que a informação codicada carregue uma representação semântica da imagem

de entrada.

Para contornar o problema de largura de banda e buscando ainda aplicar uma repre-

sentação semântica, foi utilizado o algoritmo de bag of features (CSURKA et al., 2004),

inicialmente criado para fazer classicação de imagens. Esse algoritmo utiliza o método

de agrupamento k-means para construir um vocabulário de descritores locais, baseado em


todas as imagens do conjunto de treinamento, e em seguida é criado um histograma de

descritores locais para cada imagem com base nesse vocabulário, resultando em um vetor

único que descreve a imagem. Um método similar a esse foi utilizado por Novich (2015)

para codicar áudio em sinais táteis, convertendo as frequências sonoras em um sinal de

26 posições que contém a representação da sentença a ser transmitida para o dispositivo

tátil. No entanto, a codicação dos dados de uma imagem é algo mais complexo que

requer o uso de características que a representem em diferentes níveis semânticos.

A tarefa de descrever imagens para que algoritmos computacionais possam interpretar

é um grande desao. Muitos algoritmos de detecção e descrição de pontos de interesse,

como o SIFT (LOWE, 1999b; LOWE, 2004), SURF (BAY; TUYTELAARS; Van Gool,

2006), ORB (RUBLEE et al., 2011), entre outros, foram desenvolvidos ao longo dos anos

buscando resolver diferentes problemas na área de visão computacional, como classi-

cação, recuperação de imagens e detecção de objetos. Recentemente, com os grandes

avanços na área de inteligência articial e principalmente em deep learning, muitos des-

tes problemas tem sido resolvidos com as redes neurais convolucionais, e normalmente

atingindo o estado da arte, que antes pertencia aos métodos mais tradicionais de visão

computacional. A principal vantagem dessas redes quando comparadas aos algoritmos

tradicionais, é que as camadas das redes convolucionais são capazes de aprender auto-

maticamente os padrões existentes no conjunto de imagens de treinamento através do

algoritmo de backpropagation, e com isso conseguem extrair descritores locais em diferen-

tes níveis semânticos. Com o surgimento de grandes bancos de dados de imagens, como o

ImageNet, o uso destes descritores locais extraídos das camadas convolucionais tornou-se

uma boa opção para substituir os algoritmos de descrição de pontos tradicionais, e con-

sideramos que o uso destes descritores também pode ser uma boa opção para codicação

2
de imagens em sistemas de substituição de visão.

Nos primeiros experimentos deste trabalho, foram aplicados sinais de ativação xos

para as classes de objetos, tanto utilizando redes neurais de classicação quanto de de-

tecção de objetos (RIBANI; MARENGONI, 2019). Porém, a limitação de se utilizar

ativações xas foi evidente, onde o usuário não seria capaz de diferenciar objetos dentro

de uma mesma classe, ou mesmo utilizar o sistema para objetos não vistos antes no con-

junto de treinamento, que também não estariam mapeados nos sinais de ativação xos.

Essas limitações motivaram o uso da combinação de redes neurais convolucionais com o

algoritmo de bag of features (RIBANI; LIMA; MARENGONI, 2019), que já foi aplicada

anteriormente com sucesso para a tarefa de recuperação de imagens (MOHEDANO et

al., 2016). Nesse caso, as imagens são ordenadas de acordo com a similaridade visual do

conteúdo, o que faz sentido para a tarefa de recuperação de imagens já que nesse caso se

utiliza uma imagem de referência para fazer a busca independente da classe do objeto,

desde que ambas sejam visualmente parecidas. Porém, para a tarefa de substituição de

visão é necessário validar a propriedade semântica do sinal codicado, já que o usuário

deve ser capaz de traduzir esse sinal para uma classe conhecida de objeto.

Antes de realizar experimentos com pessoas e validar a efetividade do sistema de co-

dicação, é importante testar o sinal gerado pelo sistema, de que este é correto e que

representa adequadamente a informação desejada sobre o conteúdo da imagem. Nesse

trabalho, foi implementado um novo método para avaliar a similaridade semântica das

imagens através do sinal de ativação da interface tátil (RIBANI; LIMA; MARENGONI,

2019), onde espera-se ter sinais similares para objetos parecidos. Por exemplo, o sinal de

ativação para a imagem de um gato deve ser mais parecido com o sinal de ativação para

a imagem de um cachorro do que para a imagem de um carro, devido as características

visuais que estes dois animais possuem e que um carro não possui. Essa avaliação foi rea-

lizada utilizando diferentes conjuntos de imagens, inicialmente foi utilizado um conjunto

simples de imagens contendo 4 classes: carro, moto, gato e cachorro, e em seguida foram

feitos testes com os conjuntos de imagens CIFAR-10 e MS COCO, a m de vericar a

diferença do sinal entre superclasses distintas, como carro e moto, que são veículos, ou

gato e cachorro, que são animais.

Utilizando o método de avaliação desenvolvido, foi possível vericar a efetividade de

3
diferenciação entre objetos a partir da representação codicada no sinal tátil. Com isso,

pode-se observar que os métodos utilizados para codicação de imagens em sinais táteis

através das redes convolucionais, BoF e VLAD, apresentaram resultados melhores em

comparação ao método de redução de tamanho de imagens, normalmente utilizado por

outros sistemas, como o BrainPort.

1.1 Motivação

Segundo a OMS (Organização Mundial da Saúde), estima-se que existam 285 milhões

de pessoas decientes visuais no mundo, sendo 246 milhões com baixa visão e 39 milhões

completamente cegas (WORLD HEALTH ORGANIZATION, 2012). Assim como muitas

dessas pessoas utilizam a bengala para desviar de obstáculos, ou cães-guia para auxiliar

na locomoção, acreditamos que, com os mais recentes avanços na área da computação,

essas pessoas também possam ter acesso às novas tecnologias assistivas, que sejam de

baixo custo e de fácil utilização.

Novas plataformas de hardware para prototipação foram criadas nos últimos anos,

como o Arduíno e o Raspbery Pi, que permitem a criação de sistemas avançados com

baixo consumo de energia e baixo custo. Além de serem razoavelmente pequenos, o

que permite a integração sem precisar de grandes equipamentos, esses sistemas possuem

ferramentas fáceis de serem utilizadas, trazendo novas oportunidades para as pesquisas

na área de tecnologias assistivas, como por exemplo, na área de substituição sensorial.

Diversos trabalhos na área de substituição de visão demonstraram a capacidade do

cérebro em se adaptar em casos de perda de visão, ao receber sinais provenientes de

outros meios (RITA; KERCEL, 2003; PEREIRA, 2006; VISELL, 2009). Um exemplo

desse fenômeno, está na capacidade de pessoas com deciência visual de desenvolverem

uma percepção mais apurada do ambiente a sua volta, através do tato ou da audição, como

por exemplo na leitura de braille ou no uso de recursos assistivos de aparelhos celulares

através de áudio. No entanto, esses sistemas de substituição de visão criados até então,

utilizam métodos muito simples para codicação de imagens em sinais táteis.

No trabalho realizado por Novich (2015), usuários que perderam totalmente a audição

foram capazes de reconhecer determinadas palavras de um vocabulário limitado, captadas

4
pelo microfone de um telefone celular, codicadas em padrões e enviadas ao usuário através

de um colete com atuadores vibrotáteis distribuídos ao longo da parte dorsal do tronco.

Em relação aos métodos normalmente utilizados, como o método apresentado por

Grant et al. (2016) e o método apresentado por Pereira (2006), Novich (2015) utiliza um

algoritmo mais complexo para codicar o áudio em sinais táteis, e ainda assim os usuários

demonstraram uma boa capacidade de adaptação. Identicou-se então, uma oportunidade

de melhorar a representação semântica na codicação de imagens em sinais táteis.

Os avanços recentes na área de deep learning permitem utilizar modelos de redes

convolucionais para resolver problemas de entendimento de imagens, e logo, são uma boa

opção para extração de características de diferentes níveis da imagem. Acreditamos que

a capacidade adaptativa do cérebro em combinação com esses avanços, podem trazer um

grande potencial no desenvolvimento de dispositivos de substituição de visão.

1.2 Objetivo

O objetivo geral deste trabalho consiste na criação de um método de codicação de

imagens para sinais táteis, de forma que estes sinais carreguem informações semânticas

relevantes da imagem, assim permitindo que o cérebro seja capaz de aprender a decodicar

a classe do objeto.

Para tal, o presente trabalho propõe a criação de um protótipo que, com a utilização

de uma câmera e atuadores vibrotáteis em contato com o corpo, seja capaz de fornecer

ao usuário informações relevantes para reconhecimento de objetos através da imagem

capturada. Esse protótipo deve deixar as mãos do usuário livres e não interferir com

outros sentidos, como fala, olfato e audição (TAPU; MOCANU; TAPU, 2014).

Com o intuito de criar o algoritmo de codicação de imagens, foram feitas pesquisas

na área de deep learning e de bag of features para avaliar a possibilidade de utilizar

vocabulários de descritores locais obtidos em diferentes níveis de representação das redes

neurais convolucionais.

Finalmente, buscando identicar as chances de uma pessoa cega reconhecer corre-

tamente os objetos ao utilizar um sistema de substituição de visão que funcione com

atuadores táteis, o presente trabalho busca também criar uma métrica de avaliação do

5
sinal gerado na interface em termos de semântica para reconhecimento de objetos. Com

essa nova métrica, espera-se realizar experimentos com diferentes conjuntos de imagens,

permitindo mensurar a qualidade semântica do sinal gerado pelo sistema, tal como com-

parar os resultados com o método de redução de escala de imagens utilizado em outros

trabalhos.

1.3 Trabalhos relacionados

As tentativas existentes em converter imagens para sinais táteis consistem em méto-

dos muito simples, como redução de escala das imagens para o mesmo tamanho da matriz

de atuadores ou redução de escala da imagem de bordas extraídas da imagem original

(CANCAR et al., 2013; DAKOPOULOS; BOURBAKIS, 2008; PEREIRA, 2006; JOHN-

SON; HIGGINS, 2006; BACH-Y-RITA et al., 1969). Em outros trabalhos, mais focados

em navegação (CANCAR et al., 2013; DAKOPOULOS; BOURBAKIS, 2008; CARDIN;

THALMANN; VEXO, 2007; JOHNSON; HIGGINS, 2006; MEERS; WARD, 2005), o si-

nal é uma função básica que transmite ao usuário informações sobre distância de objetos

na imagem, sendo que estes trabalhos normalmente utilizam sensores de profundidade.

Nesses casos, cada motor é ativado de acordo com um ponto detectado de profundidade,

passando ao usuário uma percepção espacial do ambiente em sua volta para desviar de

obstáculos. Dada a capacidade adaptativa do cérebro humano, estes métodos são formas

modestas de codicar as informações.

Outros trabalhos, que também utilizam imagens como entrada, codicam as informa-

ções e as enviam em diferentes tipos de interfaces, como áudio (HUB; DIEPSTRATEN;

ERTL, 2004; GONZáLEZ-MORA et al., 1999; MEIJER, 1992) ou atuadores táteis colo-

cados em luvas para transmitir os sinais através das pontas dos dedos (LIN et al., 2012;

MEERS; WARD, 2005). Estes trabalhos e suas variações nas formas de transmitir as

informações são evidências de que a origem do sinal não importa, e que o cérebro humano

é capaz de compreender essas informações.

Uma das primeiras pesquisas na área de substituição de visão foi realizada no nal

dos anos 1960 por BACH-Y-RITA et al. (1969) e publicada na revista Nature. O sistema

TVSS (Tactile Vision Substitution System), apresentado na Figura 1, foi montado em uma

cadeira de dentista com 400 motores de vibração dispostos em uma matriz de 20 linhas e

6
20 colunas, onde era projetada a imagem capturada por uma câmera de TV analógica. Os

estímulos eram enviados de forma binária (ligado ou desligado), sem considerar variações

de intensidade nos atuadores e sem fazer nenhum pré-processamento na imagem.

Figura 1: Sistema TVSS. Fonte: BACH-Y-RITA et al. (1969).

A pesquisa inicial feita com o TVSS foi um conceito para o desenvolvimento do dispo-

sitivo TDU (Tongue Display Unit) (BACH-Y-RITA et al., 1998), iniciado no nal dos anos

1990, e que posteriormente em 2016, resultou em um produto comercial chamado Brain-

Port V100 Vision Aid (STRONKS et al., 2016), apresentado nas Figuras 2 e 3, custando

US$10.000,00 e disponível na Europa, Estados Unidos e Hong Kong. A linha do tempo no

desenvolvimento dessa tecnologia apresentou muitos avanços nos estudos de sensibilidade

da pele, tipos de atuadores táteis, e distância entre atuadores táteis, no entanto o método

para codicação das imagens em sinais táteis permaneceu o mesmo, através da redução

da escala de imagens e conversão para escala de cinza no mesmo tamanho da matriz de

atuadores.

Os resultados do sistema BrainPort foram obtidos a partir de um estudo com 18

indivíduos que possuíam algum tipo de deciência visual, com o objetivo de avaliar a

capacidade de identicação de 4 objetos: bola, banana, marcador de texto e caneca.

Após 15-20 horas de treinamento, os indivíduos obtiveram uma taxa de acerto de 75%.

Também foi avaliada a capacidade de reconhecimento de palavras. Foram utilizadas 10

palavras contendo de 3-5 letras e a taxa de acerto obtida foi de apenas 15%. O autor

relaciona a baixa performance em reconhecimento de palavras com a baixa resolução

utilizada no sistema.

7
Figura 2: (a) Sistema BrainPort V100 com a câmera montada em um óculos, dispositivo

colocado na língua com uma matriz de eletrodos 20x20 e unidade de processamento. (b)

Sistema BrainPort em uso. Fonte: Stronks et al. (2016).

Figura 3: Exemplo de imagem capturada pela câmera do sistema BrainPort e imagem

transformada para ativação dos eletrodos. Stronks et al. (2016).

8
Além dos experimentos realizados pelo grupo de desenvolvimento do sistema, foram

feitos testes clínicos para permitir aprovação de uso comercial (GRANT et al., 2016).

Nesses testes, 75 pessoas com algum tipo de deciência visual foram voluntários a utilizar

o sistema durante 1 ano e a cada 3 meses foram submetidos à tarefa de reconhecimento

de objetos descrita anteriormente, com as mesmas 4 classes de objetos. Do total de

participantes, 57 completaram o estudo. Durante a tarefa de reconhecimento, os 4 objetos

eram posicionados lado a lado em uma mesa com fundo preto, e o usuário era instruído

a indicar qual era o objeto solicitado pelo aplicador do teste. Durante cada sessão de

reconhecimento os participantes tiveram 20 tentativas, e a cada tentativa os objetos eram

mudados de posição aleatoriamente. Cada sessão era considerada um acerto caso a pessoa

obtivesse sucesso em pelo menos 9 das 20 tentativas. Ao nal da coleta de dados, 91%

dos voluntários atingiram o número desejado de reconhecimento.

Um outro protótipo, desenvolvido como parte da tese de doutorado de Pereira (2006)

e apresentado na Figura 4, utilizou uma abordagem similar ao BrainPort, mas ao invés de

utilizar apenas a imagem em escala de cinza, foi utilizado o algoritmo Canny de detecção

de bordas antes do processo de redimensionamento da imagem. Nesse trabalho, a taxa de

acerto no reconhecimento de padrões geométricos simples por pessoas totalmente cegas

foi de 88%, porém a taxa de acerto para reconhecimento de objetos foi abaixo de 30%

para os seguintes objetos: mesa, mesa com cadeira, e duas mesas.

Figura 4: Sistema desenvolvido por Pereira (2006). Fonte: Pereira (2006).

9
Um estudo recente, que inspirou este trabalho na forma de como codicar informações

em sinais táteis, foi o sistema VEST, desenvolvido por Novich (2015) para auxiliar pessoas

totalmente surdas a reconhecerem sentenças a partir do áudio captado por um microfone.

Foi desenvolvido um colete que utiliza motores de vibração como atuadores táteis, con-

forme apresentado na Figura 5. Para codicar a informação de áudio em sinais táteis, o

autor utiliza o algoritmo de agrupamento k-means treinado com sentenças em inglês. Os

participantes foram submetidos a um treinamento de 12 dias com um dicionário de 48

palavras e após obterem uma taxa de 75% de acerto nesse conjunto de treinamento, foram

submetidos a um conjunto de teste, com palavras diferentes das contidas no conjunto de

treinamento. No conjunto de teste a taxa de acerto foi entre 35% e 65%, que pode-se con-

siderar um resultado muito bom, já que os padrões táteis referentes às palavras contidas

nesse conjunto eram desconhecidas pelos indivíduos até então.

Figura 5: Sistema VEST desenvolvido por Novich (2015).

1.4 Estrutura da tese

Este projeto está dividido da seguinte forma: no capítulo 2 é feita uma revisão so-

bre substituição sensorial, deep learning e frameworks de bag of features. No capítulo 3, é

detalhado o processo de desenvolvimento e implementação do protótipo e do sistema com-

putacional para codicação de imagens em sinais táteis. No capítulo 4 são apresentados

os experimentos e resultados; E nalmente, no capítulo 5 são apresentadas as conclusões,

discussões e direcionamento para trabalhos futuros.

10
2 REFERENCIAL TEÓRICO

2.1 Substituição sensorial

O sentido da visão utiliza os olhos como um sensor, por onde as imagens são captadas

especicamente pela pupila e retina e de lá são transmitidas em forma de pulsos elétricos

codicados para o cérebro, que por sua vez é capaz de interpretar esses sinais de forma

visual em diferentes níveis de percepção. Entretanto, o poder cognitivo do cérebro em

interpretar essas informações, não se dá apenas devido ao processamento da imagem

capturada, já que a percepção da imagem possui também uma relação com a memória,

aprendizado e interpretação de contexto (RITA; KERCEL, 2003).

Inicialmente, acreditava-se que o cérebro humano tivesse as funções localizadas e xas.

Entretanto, após diversas pesquisas comprovou-se que o cérebro é capaz de se adaptar e

se reorganizar de acordo com a necessidade (PEREIRA, 2006). A plasticidade pode ser

denida como a capacidade adaptativa do sistema nervoso central e sua habilidade de

modicar sua estrutura organizacional e funcional. Os mecanismos de plasticidade do cé-

rebro incluem alterações químicas, sinápticas, receptoras e mudanças na estrutura neural.

As mudanças normalmente acontecem em resposta a uma combinação de necessidade e

treinamento (RITA; KERCEL, 2003).

A substituição sensorial consiste em utilizar um sensor do corpo humano para receber

informações que normalmente são recebidas por outro sensor. A substituição sensorial

permite utilizar sistemas customizados para fornecer informações do ambiente através de

diferentes canais sensoriais. Um exemplo disso é a utilização do sentido do tato para

receber informações através da pele, como sinais de áudio ou imagens (RITA; KERCEL,

2003; KACZMAREK et al., 1991; NOVICH, 2015).

O uso do sensor tátil como canal de comunicação, é normalmente considerado inferior a

visão ou a audição. Porém, esse sensor ainda possui uma boa capacidade de recepção, com

mais de 10 mil canais receptores, que são capazes de responder a estímulos em intervalos

de até 10 ms. Aparentemente a pele faz um bom trabalho em receber e processar uma

grande quantidade de informações e essa armação sugere que não é necessário reduzir a

dimensionalidade do sinal para que esse seja transmitido de forma tátil (KACZMAREK

11
et al., 1991). Com base nisso podemos considerar que a limitação da quantidade de

informações transmitidas através da pele é mais dependente das características do sistema

desenvolvido do que da capacidade receptiva da pele, como por exemplo a quantidade de

atuadores no sistema em contato com a pele.

Algumas pesquisas demonstraram uma melhora na capacidade dos usuários em identi-

car corretamente o conteúdo transmitido ao fazer um pré-processamento para extrair as

bordas das imagens, demonstrando que estas carregam as informações mais importantes

para o reconhecimento de padrões (KACZMAREK et al., 1991). No trabalho realizado por

Pereira (2006), que implementa a substituição de visão através de uma matriz de eletrodos

xada no abdome, foram utilizadas imagens contendo apenas bordas e comprovou-se essa

teoria com 88% de acerto para identicação de padrões simples.

Loomis, Klatzky e Giudice (2012) abordam dois passos essenciais para a criação de um

sistema de substituição de visão que utilizam audição ou tato. O primeiro passo, consiste

em identicar o tipo de informação que é necessária para que o indivíduo seja capaz de

executar a ação desejada, como por exemplo, caminhar, desviar de obstáculos ou encontrar

objetos. O segundo passo, é determinar como essa informação será apresentada ao usuário

utilizando os sensores disponíveis. Esse passo envolve ainda dois fatores, que são: a

denição de qual sensor que será utilizado; e largura de banda que esse sensor é capaz

de captar e transmitir. A visão, a audição e o tato, possuem diferentes características de

largura de banda, que se referem à quantidade de informações e taxa de transferência que

cada sensor é capaz de transmitir para o cérebro.

A largura de banda da visão é muito superior à dos outros sentidos e por essa razão

a tentativa de mapeamento de informações visuais utilizando câmeras e outros sentidos,

inevitavelmente irá resultar em algum tipo de perda de informações. Ela compreende dois

componentes: a largura de banda espacial e a largura de banda temporal. A largura de

banda espacial, é determinada pelo ângulo de visão de cada olho em conjunto com os

diferentes níveis de iluminação e cor capazes de serem detectados, esse componente está

diretamente relacionado ao número de bras de nervo óptico em cada olho. A largura de

banda temporal, está relacionada a taxa de processamento da informação em cada olho

(LOOMIS; KLATZKY; GIUDICE, 2012).

Estudos demonstraram que nos sistemas de substituição de visão com atuadores tá-

12
teis, boa parte da informação espacial é ltrada pela pele, não chegando aos sistemas

responsáveis pelo processamento cognitivo de reconhecimento. No trabalho de Loomis

(1981) foram apresentados caracteres em braille e letras em alto relevo por meio de estí-

mulo tátil nas pontas dos dedos para pessoas com visão normal e também através da visão,

utilizando ltros passa-baixa para simular a mesma situação. A taxa de acerto nas letras

apresentadas de forma visual foi muito próxima da taxa de acerto nas letras apresentadas

de forma tátil, de aproximadamente 75%. Na Figura 6 é possível comparar ambas as

formas em que a informação foi apresentada e é possível perceber que informações da

parte interna no detalhe das letras, é ltrado na imagem borrada.

Figura 6: Representação de como os caracteres em braille são ltrados ao passar para a

pele. Fonte: Loomis, Klatzky e Giudice (2012)

No trabalho de Tapu, Mocanu e Tapu (2014) são descritas algumas características

necessárias para que um sistema de navegação (Electronic Travel Aid) para decientes

visuais seja viável. Apesar deste trabalho não ter como foco principal a navegação, estas

características apresentadas na Tabela 1, também podem ser consideradas.

2.2 Deep learning

Os primeiros estudos com redes neurais convolucionais (LECUN et al., 1998) mos-

tram que estas redes possuem um comportamento similar ao cérebro humano ao aprender

diferentes níveis de características. Um estudo recente, comprovou essa hipótese ao utili-

13
Tabela 1: Características de um sistema de navegação. (TAPU; MOCANU; TAPU, 2014)

Característica Descrição
Tempo real O sistema deve retornar rapidamente os alertas para que

o usuário possa caminhar normalmente.

Vestível Deve ser colocado junto ao usuário como uma peça de

roupa. Os ouvidos e mãos devem car livres.

Portátil Deve ser leve e fácil de montar, que possa ser levado em

longas distâncias, pequeno e que tenha formato ergonô-

mico.

Conável Deve ter alta taxa de acertos e avaliação de recall. Po-

rém, deve também ter funções de correção para situações

inesperadas.

Baixo-custo Deve ser acessível aos usuários.

Amigável Simples de usar, fácil de aprender, sem longos e caros

treinamentos.

Robusto O dispositivo deve resistir em ambientes difíceis e mal

uso.

Sem cabos Deve ser utilizado com conexão sem o.

zar sinais extraídos diretamente do córtex cerebral através de ressonância magnética para

treinar esse tipo de rede (SHEN et al., 2018).

2.2.1 Arquiteturas de redes convolucionais

A primeira rede convolutiva treinada utilizando o algoritmo back-propagation para

retro-propagação de gradiente é apresentada na Figura 7. Essa rede foi introduzida por

LeCun et al. (1998) e mostrou um importante avanço nos resultados para reconhecimento

de caracteres. Apesar de não utilizar a mesma nomenclatura para se referir ao tipo do

aprendizado, esse trabalho foi um importante marco na linha temporal das pesquisas de

deep learning, já que o mesmo comprovou que o uso de redes convolucionais era mais

eciente do que usar extratores de características criados manualmente. Os resultados

14
mostraram que as redes eram capazes de aprender as características presentes no banco

de dados de treinamento automaticamente. Apesar desse importante avanço, o uso das

redes convolucionais em aplicações reais era limitado devido ao alto custo computacional

e a falta de dados sucientes para treinamento.

Figura 7: Arquitetura da rede LeNet-5, utilizada para classicação de dígitos. Fonte:

LeCun et al. (1998).

Entre 2000 e 2010, aconteceram diversos avanços no desenvolvimento de dispositivos

de processamento computacional, como CPU e GPU. Com a introdução de novos modelos

de placas de vídeo que permitiam realizar tarefas de propósito geral, passou a ser possível

realizar o treinamento de redes neurais mais profundas de forma mais rápida. Além disso,

surgiram novos bancos de dados grandes o suciente para o treinamento dessas redes,

como o LabelMe (RUSSELL et al., 2008) e o ImageNet (DENG et al., 2009).

Em 2010, foi criada a competição ILSVRC (ImageNet Large-Scale Visual Recognition


Challenge), que nomeia os melhores resultados em classicação e detecção de objetos

utilizando um sub-grupo de imagens do banco de dados ImageNet. O banco de dados

ImageNet possui mais de 15 milhões de imagens em alta-resolução contidas em 22 mil

diferentes classes, coletadas da internet e classicadas manualmente por pessoas através

da ferramenta Amazon's Mechanical Turk. Entretanto, na competição ILSVRC é utilizado

um sub-grupo de apenas mil classes (RUSSAKOVSKY et al., 2015).

Krizhevsky, Sutskever e Hinton (2012), os vencedores da competição ILSVRC em

2012, apresentaram um avanço considerável em relação ao estado da arte em classica-

ção utilizando uma rede convolutiva para resolver a tarefa com treinamento em múltiplas

GPUs. Foi apresentada a rede AlexNet, que possui 8 camadas, sendo 5 convolucionais

15
e 3 totalmente conectadas, com mil neurônios na camada Softmax de saída. Podemos

dizer que esse é um dos trabalhos mais importantes na área de deep learning e que in-

uenciou diversas outras pesquisas, pois a partir dos resultados obtidos descobriu-se que

era possível treinar modelos de redes convolucionais mais profundos para resolver tarefas

mais complexas, além de comprovar a eciência dessas redes na resolução de problemas

de visão computacional, já descritos por LeCun et al. (1998).

Na competição ILSVRC-2014, a arquitetura VGG do Visual Geometry Group (SI-

MONYAN; ZISSERMAN, 2015), cou em segundo lugar e apresentou resultados notáveis

em relação ao vencedor do ano anterior, com uma taxa de erro muito próxima à do pri-

meiro colocado, a rede GoogleNet (SZEGEDY et al., 2015).

As características mais importantes que devem ser observadas no modelo VGG são o

uso de ltros menores nas camadas convolutivas e o aumento do número de camadas para

obter uma rede mais profunda. Nos principais modelos existentes até então utilizava-se l-

tros de convolução maiores (como por exemplo 11x11). No modelo VGG foi adotado o uso

de ltros convolutivos do tamanho 3x3, o que viabilizou o aumento do número de camadas

já que a quantidade de parâmetros reduziu drasticamente facilitando o treinamento.

Ainda que o modelo VGG tenha cado em segundo lugar da competição ILSVRC-

2014, ele teve uma inuência maior do que o modelo GoogleNet (SZEGEDY et al., 2015)

sobre as novas arquiteturas que apareceriam nos anos seguintes e isso se deu princi-

palmente devido a simplicidade do modelo, que possui uma estrutura linear, conforme

apresentado na Figura 8. No modelo GoogLeNet, que foi o vencedor da competição, a

arquitetura da rede é mais complexa e maior em número de camadas, porém consideravel-

mente menor em número de parâmetros, resultando em um menor custo computacional.

O GoogLeNet possui módulos chamados Inception que realizam convoluções com di-

ferentes tamanhos de ltros e concatenam os resultados na saída, ao invés de utilizar um

único tamanho de ltro, permitindo que o modelo aprenda automaticamente qual ltro

ou combinação de ltros utilizar de acordo com conjunto de treinamento. Com o intuito

de reduzir o custo computacional, os módulos Inception implementam uma convolução

com ltros 1x1 para redução de dimensionalidade antes das convoluções com os ltros

3x3 e 5x5, conforme apresentado na Figura 9. Além disso, é utilizada a técnica de Global
Average Pooling após as convoluções, que substituem camadas totalmente conectadas e

16
Figura 8: Arquitetura da rede VGG com 19 camadas. Fonte: Imagem adaptada a partir

da estrutura descrita por Simonyan e Zisserman (2015).

reduzem para zero o número de parâmetros, consequentemente reduzindo o custo compu-

tacional e o overtting.

Figura 9: Módulo Inception utilizado na rede GoogLeNet, com redução de dimensionali-

dade. Fonte: Szegedy et al. (2015).

Com a motivação de utilizar modelos mais profundos e ao mesmo tempo evitar o pro-

blema de desaparecimento de gradiente, a rede ResNet trouxe o conceito de aprendizado

residual (HE et al., 2015). Utilizando-se desse conceito, a rede ResNet foi a vencedora da

competição ILSVRC-2015.

O aumento do número de camadas é muito importante para se obter melhores acurá-

cias nas tarefas de classicação (SIMONYAN; ZISSERMAN, 2015). Porém, quanto mais

profunda é uma rede neural convolucional, mais difícil se torna treiná-la, principalmente

17
devido a esse problema de desaparecimento de gradiente, comum em métodos de aprendi-

zado baseados em retro-propagação de gradiente. Quanto maior é o número de camadas,

maior é o valor do erro calculado durante o treinamento.

Diferente da rede GoogLeNet (SZEGEDY et al., 2015) que utiliza ramicações auxili-

ares para reduzir o problema de desaparecimento do gradiente, o modelo ResNet manteve

a simplicidade e linearidade das redes VGG e explicitamente foram adicionadas conexões

entre blocos de camadas, que podemos chamar de atalhos para propagação do sinal ou

mapeamento residual. Uma representação desses blocos residuais é mostrada na Figura

10.

Com o intuito de criar redes neurais ecientes e focadas em aplicações embarcadas, foi

criada a arquitetura MobileNet (HOWARD et al., 2017). Uma classe de modelos ecientes

que implementa convoluções separadas por canais de profundidade em algumas camadas,

que os autores chamam de depthwise separable convolutions, seguidas por convoluções com
ltros de tamanho 1x1, chamadas de pointwise convolutions. Além disso, a rede não utiliza

camadas de MaxPooling, ao invés disso são aplicadas convoluções com espaçamento de 2

pixels nas camadas depthwise, resultando em uma saída com metade do tamanho. Segundo

os autores, a rede MobileNet possui quase a mesma acurácia da rede VGG16, apenas 1%

abaixo, sendo 32 vezes menor e 27 vezes mais eciente em termos de processamento.

Figura 10: Bloco residual da rede ResNet. Fonte: He et al. (2015).

2.2.2 Modelos de detecção de objetos

Os modelos de classicação são capazes de classicar o conteúdo de uma imagem em

apenas uma classe, que normalmente está presente na maior parte da imagem. Já os

modelos de deep learning para detecção de objetos, podem detectar e classicar múltiplas

18
instâncias de objetos em uma mesma imagem. Algumas arquiteturas utilizam detecção

por regiões, como a Faster R-CNN (REN et al., 2015) e Mask R-CNN (HE et al., 2017),

que fazem a detecção em duas etapas, primeiro selecionando as regiões candidatas na

imagem através de um processo de segmentação e em seguida executando uma rede de

classicação para cada uma dessas regiões. Apesar de apresentarem bons resultados de

detecção, essas redes são lentas, já que fazem várias inferências nos modelos para cada

região candidata e esse é um fator crítico para aplicações que rodam em dispositivos

móveis, como o Raspberry Pi.

Um outro tipo de arquitetura para detecção de objetos utiliza o conceito de um modelo

único para todo o processo. Esse é o caso das redes YOLO (REDMON; FARHADI, 2018)

e SSD (LIU et al., 2015), que serão descritas a seguir por serem opções viáveis ao sistema

proposto nesse trabalho.

A rede YOLO baseia-se nas técnicas apresentadas no modelo GoogLeNet, que utiliza

os módulos inception e convoluções 1x1 para redução de dimensionalidade. O algoritmo

divide a imagem em um grid, onde cada posição irá predizer um número de caixas delimi-
tadoras de objetos e uma pontuação de certeza. Essa pontuação representa a conança de

que há um objeto na caixa e a acurácia dessa conança. Se a célula não contiver nenhum

objeto a pontuação será igual a zero, caso contrário a pontuação será igual a intersecção

sobre a união entre a caixa delimitadora inferida e a caixa delimitadora esperada. Cada

caixa contém as informações de posição central do objeto, altura, largura e conança,

sendo as coordenadas (x,y) do centro relativas à célula e o tamanho da caixa relativo à

imagem inteira. Esse processo é representado na Figura 11.

Na segunda versão da rede YOLO (REDMON; FARHADI, 2016) foram aplicadas

diversas melhorias, como normalização por lotes durante o treinamento após cada camada

convolutiva, renamento das camadas de extração de características pré-treinadas com

o ImageNet utilizando imagens com o dobro da resolução e treinamento em diferentes

escalas, onde a cada 10 lotes de imagens a entrada é redimensionada randomicamente em

múltiplos de 32, em tamanhos entre 320x320 e 608x608.

Já a YOLO versão 3 (REDMON; FARHADI, 2018) foi construída substituindo o

modelo anterior de 19 camadas por uma rede totalmente convolucional de 53 camadas,

com blocos residuais e camadas de upsampling. Além disso, foi implementada a detecção

19
Figura 11: Algoritmo de detecção de objetos YOLO. (REDMON et al., 2016).

em diferentes escalas aplicando convoluções 1x1 em 3 diferentes camadas que possuem

mapas de características de diferentes tamanhos. No banco de dados MS COCO a rede

YOLOv3 possui uma acurácia de AP50 = 57, 9 para imagens de 608x608.

Uma outra implementação aplica o conceito das redes Single Shot MultiBox Detector
(SSD) (LIU et al., 2015), que produz um número xo de caixas delimitadoras na saída

para detecção de instâncias objetos, seguidos por uma supressão de não-máximos que gera

as detecções nais da rede. O autor utiliza a arquitetura VGG16 como base da rede para

os experimentos e como as camadas diminuem de tamanho progressivamente, isso permite

a detecção em diferentes escalas, que é uma das principais diferenças da rede SSD para a

YOLOv1, mas que posteriormente também foi implementada na YOLOv3.

Cada camada da rede SSD pode produzir um número xo de detecções aplicando uma

camada extra de convolução para detecção de caixas delimitadoras de diferentes razões de

aspecto pré-denidas e classicar o objeto contido nessas caixas. Essas conexões podem ser

observadas na Figura 12, onde também é possível comparar a rede SSD com a YOLOv1,

que possui uma única conexão na saída da última camada totalmente conectada para

detecção dos objetos. Em ambos os modelos, SSD e YOLO, são utilizadas funções de

perda especícas para cada caso, porém ambos fazem uma soma ponderada entre perda

de localização e perda de conança para a classe do objeto.

Com os avanços das versões mais recentes da rede YOLO, foram aplicadas melhorias

20
Figura 12: Comparação da rede SSD e YOLOv1. Fonte: Liu et al. (2015).

incrementais que tornaram a YOLOv3 melhor do que a rede SSD inicialmente baseada na

VGG16, tanto em relação a precisão quanto performance. Entretanto, a rede SSD é mais

simples de ser implementada e isso facilitou experimentos com outras arquiteturas, como a

MobileNet (HOWARD et al., 2017) que é otimizada para dispositivos móveis, viabilizando

a utilização de detetores de objetos em hardwares de baixo poder de processamento.

A Tabela 2 mostra os resultados de mAP no banco de dados MS COCO para a

YOLOv3 e algumas variações de SSD. As redes com melhores valores de precisão na

detecção são a YOLOv3 e SSD ResNet-50. No entanto, apenas os modelos baseados

na MobileNet são capazes de fazer o processamento em tempo real no Raspberry Pi, e

apesar dos valores de precisão serem mais baixos, eles ainda são aceitáveis para a aplicação

proposta nesse trabalho.

2.3 Frameworks de conjuntos de descritores locais

2.3.1 Bag of features (BoF)

Um conceito para categorização visual de imagens é apresentado por Csurka et al.

(2004). Neste conceito, as características locais das imagens são quantizadas para classi-

car um objeto ou imagem dentro de uma determinada classe. O Bag of Features (BoF),

21
Tabela 2: Valores de precisão das redes YOLOv3 e SSD no banco de dados MS COCO.

Fontes: Redmon e Farhadi (2018) e Tensorow (2019).

mAP

YOLOv3 33,0%

SSD ResNet-50 35,0%

SSD MobileNet v1 21,0%

SSD MobileNet v2 22,0%

ou Bag of KeyPoints, é baseado na proposta de Bag of Words, nessa representação um

documento textual é descrito como um histograma com o número de ocorrências de cada

palavra. Perronnin (2008) explica que de forma similar, essa quantização pode ser apli-

cada a imagens, onde ao invés de contabilizar dados textuais, são contabilizados dados

visuais.

Csurka et al. (2004) abordam o problema de recuperação de imagens em grandes ban-

cos de dados e explicam que para gerenciar tal quantidade de informação, é necessário

ter acesso a informações de mais alto nível em cada uma dessas imagens. Para chegar

a esse nível de interpretação, primeiramente deve-se processar dados de baixo nível que

caracterizem a imagem. Procura-se então reduzir o espaço semântico entre as caracte-

rísticas locais e as informações interpretadas pelo conhecimento humano. Partindo desse

princípio, são utilizados descritores locais agrupados para gerar um vocabulário de pala-

vras visuais (Figura 13), e posteriormente descrever e classicar cada uma das imagens.

Esse vocabulário corresponde a um histograma com o número de ocorrências de um deter-

minado padrão na imagem. Com uma categorização apropriada do conteúdo, é possível

medir a similaridade entre imagens.

Figura 13: Representação da geração do vocabulário de palavras visuais.

22
Segundo Liu (2013), a principal diferença entre o Bag of Words e o Bag of Features
é que o primeiro analisa um texto contabilizando as palavras, ou seja, já existe um voca-

bulário denido. Já no segundo caso, não há um vocabulário pronto de palavras visuais e

este deve ser gerado automaticamente a partir de uma leitura das imagens existentes no

banco de dados.

Csurka et al. (2004) explicam que a geração do descritor visual consiste em três fases:

• Detecção e descrição dos pontos de interesse contidos em todas as imagens;

• Geração do vocabulário de palavras visual através de um algoritmo de agrupamento,

no caso, o k-means;

• E por último uma contagem de quantas vezes cada palavra aparece na imagem,

formando um vetor característico que descreve a imagem.

Para o processo de classicação é proposta mais uma etapa, que consiste em enviar o

histograma extraído da imagem para um modelo de aprendizado que determina a categoria

a qual a imagem pertence (CSURKA et al., 2004). Os autores apresentam resultados

utilizando os métodos Support Vector Machine e Naive Bayes, porém esta etapa não será

utilizada neste trabalho, visto que o objetivo está em utilizar o vetor descritivo gerado

pelo algoritmo para ativação dos motores do colete vibrotátil.

A primeira etapa do processo consiste na detecção e descrição dos pontos de interesse

e no trabalho de Csurka et al. (2004) foi utilizado o algoritmo SIFT (LOWE, 1999b;

LOWE, 2004). Neste trabalho, não será utilizado nenhum algoritmo de detecção de

pontos de interesse, pois serão utilizados os descritores locais extraídos nas saídas das

camadas intermediárias das redes convolucionais.

Para a geração do vocabulário, é utilizado o algoritmo k-means que recebe todos os

descritores locais de todas as imagens no banco de dados e os divide em k grupos. O

algoritmo converge esses pontos para k centros de massa onde cada ponto pertence ao

grupo que possui a média mais próxima, conforme descrito por Forsyth e Ponce (2012)

e demonstrado na Figura 14. Cada centro de massa, indica uma palavra no vocabulário

que será utilizada para gerar o histograma de acordo com sua proximidade em relação aos

pontos. A implementação do algoritmo k-means foi feita utilizando a biblioteca OpenCV,

23
com um máximo de 10 iterações como critério de parada e inicialização de centróides

aleatórios.

Figura 14: Representação do agrupamento realizado pelo algoritmo k-means, com seus

respectivos centros de massa indicados pelos circulos maiores de cada grupo.

Com o vocabulário denido, a próxima etapa consiste em identicar o dicionário de

palavras existente em cada uma das imagens, conforme descrito por Csurka et al. (2004).

Para isso, os descritores locais são utilizados novamente, e cada descritor é atribuído a

uma das palavras do vocabulário utilizando a técnica KNN (K-Nearest Neighbors), ou seja,
o ponto irá representar a palavra que possua K vizinhos mais próximos deste. Cria-se um

histograma com a quantidade de posições igual a quantidade de palavras no vocabulário.

Para cada ponto o valor da respectiva palavra é incrementado obtendo-se o histograma,

em seguida os valores são normalizados e este será o vetor que descreve a imagem.

2.3.2 Vector of locally aggregated descriptors (VLAD)

Jegou et al. (2010) propõe um método para representação vetorial de imagens derivado

do BoF, chamado Vector of Locally Aggregated Descriptors (VLAD). O autor utiliza o

algoritmo SIFT para geração dos descritores, que são agregados com base em um critério

de posição no espaço de características, além do respectivo cluster no vocabulário de

palavras visuais.

Assim como no algoritmo BoF, primeiramente é necessário gerar o vocabulário de

palavras visuais C = {c1 , ..., ck } de tamanho k através do algoritmo k-means utilizando

todos os descritores locais de todas as imagens no banco de dados. Em seguida, para

24
cada imagem com d descritores, cada descritor local x é atribuído a uma das palavras do

vocabulário utilizando a técnica KNN. O vetor do VLAD é obtido aplicando a Equação

1 e por m os valores são normalizados.

X
vi,j = xj − ci,j (1)
se knn(x)=ci

A ideia por trás do método VLAD é acumular, para cada descritor local, a diferença

x − ci entre o descritor local x e a respectiva palavra ci no vocabulário, gerando um vetor

descritivo para a imagem representado por vi,j , onde i = {1, ..., k} e j = {1, ..., d}.

25
3 MATERIAIS E MÉTODOS

Diante da necessidade das pessoas com deciência visual em identicar e localizar

objetos em ambientes desconhecidos de forma independente e com base na teoria de

plasticidade do cérebro humano, o presente trabalho apresenta a criação de um sistema

similar ao desenvolvido por Novich (2015), porém voltado para o auxílio de decientes

visuais. O sistema implementa a substituição de visão para reconhecimento de objetos,

por meio de atuadores posicionados em um colete na parte dorsal do tronco do usuário,

que permite a realização de tarefas do dia-a-dia sem obstrução de nenhum outro sentido.

3.1 Protótipo versão 1 (Max. 10 motores)

No desenvolvimento do primeiro protótipo buscou-se atender o máximo possível de

requisitos citados por Tapu, Mocanu e Tapu (2014). O sistema criado é vestível, portátil,

de baixo custo, amigável e sem os. O processamento em tempo real é um dos desaos

que este trabalho procura endereçar. Foram estudados modelos de deep learning para pré-
processamento das imagens e o custo computacional destes modelos é uma característica

que foi considerada.

O primeiro protótipo é composto por um colete com 10 motores cilíndricos de vibração

conectados nas portas PWM (pulse width modulation) de duas placas do modelo Arduino
Uno R3, um computador portátil Raspberry Pi 3 modelo B+ e uma câmera USB de

resolução HD.

A placa Raspberry Pi foi escolhida por se tratar de uma unidade de processamento de

baixo custo e portátil o suciente para ser carregada pelo usuário. Essa placa possui um

processador ARM Cortex-A53 de 64 bits com 4 núcleos de 1.2 GHz, 1 Gb de memória RAM

e é capaz de rodar diferentes sistemas operacionais. Foi utilizada a distribuição Raspbian

do sistema operacional Linux, especicamente desenvolvida para esse hardware. O sistema

Raspbian é um sistema leve e capaz de rodar o software TensorFlow com a linguagem de

programação Python, que foram utilizado no processo de inferência dos modelos de deep
learning.

Já a escolha das placas Arduíno, se deu principalmente devido à facilidade de pro-

26
totipação, utilizando a linguagem de programação C, e à quantidade de portas PWM

disponíveis para acionamento dos motores. A placa Raspberry Pi possui apenas 4 portas

PWM, o que é pouco para o projeto proposto. Por isso, a tarefa de acionamento dos mo-

tores foi centralizada nas placas Arduíno e a inferência dos modelos na placa Raspberry

Pi.

Foram utilizados motores do tipo cilíndricos devido a rápida resposta entre totalmente

ativos e totalmente em repouso, além da facilidade do controle de frequência através de

uma voltagem padrão de 3V a 5V no modelo utilizado. Cada motor pode ser ativado ou

desativado para obter o número desejado de atuadores em funcionamento. Além disso,

também é possível alterar as posições dos motores, já que estes estão xados com tas

de velcro, o que possibilita a realização de testes com diferentes congurações, conforme

pode ser observado na Figura 15.

Figura 15: Imagem da parte interna do colete.

Os motores foram montados na parte interna de um colete de ciclismo que é feito

de um material com elastano, de forma que os mesmos quem bem juntos ao corpo e

passem ao usuário a sensação das vibrações e diferenciação de quando o motor está ativo

ou em repouso. Para alimentação dos motores foi necessária uma bateria auxiliar, já que

a corrente fornecida pelo Arduíno não era suciente para alimentar todos os motores. A

Figura 16 mostra como o colete ca ao ser vestido. As placas Arduíno, a bateria e o

Raspberry Pi, cam alocados nos bolsos traseiros do colete. A câmera é xada em um

óculos comum e conectada ao Raspberry Pi.

27
Figura 16: Imagens do colete vestido e do detalhe da câmera.

A imagem é capturada pela câmera posicionada no óculos (Figura 16), conectada via

porta USB no Raspberry Pi, que processa a imagem utilizando o software TensorFlow para

fazer inferência em um modelo de deep learning e envia uma saída para os Arduínos. O

sinal enviado indica quais os motores que devem ser ativados. Cada placa Arduíno possui

apenas 5 portas PWM no modelo Uno R3, por isso foram necessárias duas placas que se

conectam através de um protocolo chamado I2C. A Figura 17 apresenta um diagrama do

protótipo que foi desenvolvido.

Figura 17: Diagrama do protótipo.

Para validar o funcionamento correto de todo o sistema foi feito um teste utilizando o

algoritmo de detecção de faces de Viola e Jones (2001), disponível na biblioteca OpenCV,

que utiliza classicação em cascata com descritores Haar. Nesse cenário, ao detectar uma

28
face o sistema aciona cada um dos motores sequencialmente, validando assim que todos

estão operantes. Quando nenhum rosto é detectado os motores permanecem desligados.

Esse teste ajudou a vericar a captura e processamento da imagem e o acionamento

adequado dos motores.

3.2 Protótipo versão 2 (Máx. 30 motores)

Uma segunda versão do protótipo foi desenvolvida para suportar uma maior largura

de banda na ativação da interface tátil, aumentando de 10 motores para 30 motores. Para

alcançar esse número de atuadores, foi necessário substituir as placas Arduíno Uno, que

suportam no máximo 5 portas PWM, por duas placas Arduíno Mega 2560, que suportam

até 15 portas PWM cada placa. Essa modicação é observada na Figura 18.

Figura 18: Comparação entre os protótipos versão 1 e versão 2.

Na versão atualizada do protótipo, os motores também foram substituídos por modelos

mais compactos, com 8mm de diâmetro e 23mm de comprimento, que operam na mesma

voltagem dos motores do protótipo anterior. Os motores da versão 1 utilizavam uma capa

de proteção adaptada para permitir a vibração, diferente destes que já são pré-montados

dentro de pequenas capas para permitir que estes vibrem adequadamente. O detalhe do

motor e a montagem do conjunto são apresentados na Figura 19.

29
Figura 19: Detalhe do motor de vibração utilizado na versão 2 do protótipo e o conjunto

de 30 motores montados na parte interna do colete.

3.3 Codicação de imagens em sinais táteis com vocabulário xo

3.3.1 Classicação e mapa de ativação

A etapa de detecção e classicação de objetos, requer o uso de um sistema mais in-

teligente. Foram testados modelos de deep learning para detectar e classicar os objetos

presentes na cena. Neste trabalho, foi utilizado inicialmente o modelo ResNet-50, pré-

treinado com o banco de dados ImageNet (RIBANI; MARENGONI, 2018). Apesar de

não ser um modelo especicamente de detecção de objetos, como YOLO (You Only Look

Once) (REDMON; FARHADI, 2018) ou SSD (Single Shot Detector) (LIU et al., 2015),

este modelo possui características que permitem realizar a localização de objetos e classi-

cação em uma única inferência, já que o mesmo trabalha com camadas de Global Average
Pooling (ZHOU et al., 2015). Esse modelo foi escolhido para os testes iniciais, por ser

mais leve do que os modelos de detecção de objetos.

No primeiro experimento com a rede ResNet-50, o problema foi reduzido para a clas-

sicação de apenas 2 objetos. Foram utilizadas as classes guitarra e notebook, que

também estão contidas no banco de dados ImageNet. A escolha destas classes se deu

apenas para efeitos de testes. Para treinar a rede com as classes desejadas, foi utilizada

uma técnica chamada de transferência de conhecimento, onde os pesos nas camadas

convolutivas são congelados a partir de um modelo já treinado e a última camada foi

30
redimensionada para ter apenas 2 neurônios. Em seguida, foi feito o retreinamento da

rede utilizando a mesma técnica de back-propagation utilizada no modelo original. Com

a redução do número de classes a acurácia do modelo foi de 100%, por se tratar de um

problema simples.

Foi utilizado o protótipo versão 1, e o sinal mapeado nos motores para a classe gui-

tarra foi denido como uma sequência de ativações dos motores da esquerda para a

direita, conforme apresentado na Figura 20. Da mesma forma, o sinal mapeado nos mo-

tores para a classe notebook, foi denido como uma sequência de ativações dos motores

da direita para a esquerda, conforme apresentado na Figura 21.

Figura 20: Imagens utilizadas para os testes e padrão do sinal para a classe guitarra.

Figura 21: Imagens utilizadas para os testes e padrão do sinal para a classe notebook.

31
O processo de localização do objeto classicado, utilizou as camadas de Global Average
Pooling e a técnica de localização descrita por Zhou et al. (2015). O que acontece nesse

cenário é que cada mapa de ativação da camada anterior à camada Global Average Pooling,
funciona como um detector de padrões na imagem e os pesos que conectam as duas últimas

camadas do modelo, representam a contribuição de cada um desses padrões na classicação

imagem. Para obter o mapa de ativação que contém a localização da classe detectada na

imagem é necessário somar as contribuições de cada um dos padrões detectados na camada

de ativação anterior a camada de Global Average Pooling, considerando os pesos entre as

duas últimas camadas totalmente conectadas. Com isso, os padrões detectados com maior

relevância para a classicação, terão maior peso. Esse processo é ilustrado na Figura 22.

Figura 22: Cálculo do mapa de ativação para a classe detectada. Fonte: Zhou et al.

(2015).

A camada que antecede a de Global Average Pooling possui mapas de características

de tamanho 7x7 e com isso o mapa de ativação da classe também terá esse tamanho. No

trabalho de Zhou et al. (2015), para projetar as ativações sobre a imagem original é feito

um redimensionamento do mapa de ativações para o mesmo tamanho da imagem. Com

isso, é possível identicar as regiões da imagem mais relevantes para uma determinada

classe. Entretanto, para aplicar esse sinal nos motores do colete são necessários apenas 9

valores, congurados em 3 linhas e 3 colunas. Para obter essa redução de dimensionalidade

e manter os valores necessários, foi criada uma nova rota auxiliar no modelo. Após a

camada de Global Average Pooling já existente, foi aplicada mais uma camada igual com

entrada 7x7 e saída 3x3. Finalmente, foi aplicado o cálculo para o mapa de ativação.

O processo completo é ilustrado na Figura 23, onde a imagem capturada pela câmera

é utilizada como entrada no modelo, que detecta o objeto com maior probabilidade de

32
estar presente. A classe do objeto detectado é mapeada para a conguração de ativação

dos motores. Em seguida, o sinal calculado no mapa de ativação referente a localização

também é enviado para os motores. A ideia de enviar uma sequência de sinais em uma

matriz, pode ser comparada com a codicação do sistema braille, utilizado pelos decientes

visuais, que também utiliza uma sequência de padrões.

Figura 23: Modelo com uma saída adicional com redução de dimensionalidade e exemplo

de saída que será gerada nos motores do colete. Adaptado de Zhou et al. (2015).

3.3.2 Detecção de objetos

Mesmo fornecendo informações de localização do objeto através das camadas global


average pooling, o modelo ResNet-50 possui algumas limitações por ser projetado para

realizar apenas classicação. Ao aplicar esse modelo em um uxo contínuo de captura de

vídeo, não é considerado o caso onde não há nenhum objeto dentre as classes treinadas

presente na imagem, mas mesmo assim a saída do sistema irá sempre indicar alguma

classe presente. Um outro problema é a questão de múltiplas instâncias do mesmo objeto

na cena, em que o usuário não será capaz de saber quantos objetos estão presentes ou

qual a localização de cada um.

Para contornar essas limitações foram testados os modelos de detecção de objetos

YOLOv3 (REDMON, 2018), tanto na conguração completa quando reduzida, o SSD

(LIU et al., 2015), em diferentes congurações baseadas na MobileNet v1 (HOWARD et

al., 2017) e MobileNet v2 (SANDLER et al., 2018), a Mask-RCNN (HE et al., 2017) e a

33
Faster-RCNN (REN et al., 2015).

As redes YOLO (REDMON; FARHADI, 2018) foram compiladas do zero utilizando o

código em linguagem C disponibilizado pelo autor. Já as outras redes, foram executadas

utilizado o framework TensorFlow 1.14.0. Todos os modelos foram carregados com pesos

pré-treinados pelos autores utilizando o conjunto de imagens MS COCO (LIN et al., 2014).

Da mesma forma, não foi feita nenhuma alteração na arquitetura das redes para atender

os testes realizados com o colete, já que as saídas fornecem as caixas delimitadoras dos

objetos com suas respectivas classicações. Assim sendo, o sistema envia uma sequência

de sinais para o colete para cada objeto detectado, primeiro com a sequência mapeada para

representar aquele objeto e em seguida com a posição do objeto (RIBANI; MARENGONI,

2019).

O banco de dados Microsoft COCO possui 80 classes. Para esse experimento, foi

utilizado o protótipo versão 1, a conguração de disposição dos motores foi modicada em

relação ao experimento anterior, de 3x3 linhas e colunas para 4 linhas e 2 colunas. Nessa

conguração a ativação é feita por linha utilizando 3 níveis de intensidade (desligado, 50%

e 100%) e é capaz de mapear 34 = 81 combinações de sinais para a matriz de motores.

Desconsiderando o estado onde todos os motores cam desligados, o número de estados é

igual ao número de classes do modelo. Logo, é mapeada uma classe de saída do modelo

para cada valor restante dentre as 80 possíveis combinações.

Já que a disposição dos motores foi modicada, se fez necessário também modicar o

sinal de saída que indica a posição do objeto. Para mapear a localização com relação a

imagem de entrada, essa foi dividida em 8 quadrantes, de acordo com a conguração do

colete em 4 linhas e 2 colunas. Como o modelo já fornece a posição e tamanho da caixa do

objeto, o único processo necessário foi de calcular a área de intersecção entre o quadrante

na entrada e a caixa detectada, obtendo o valor de intensidade do respectivo motor. É

possível observar esse processo na Figura 24, com a imagem de entrada, a representação

da detecção do objeto xícara e a divisão da imagem em uma grade de 4x2. Na primeira

matriz, os valores de ativação dos motores representam a classe xícara e esses valores são

mapeados em uma combinação diferente pré-denida (xa) para cada classe. Na segunda

matriz os valores de ativação dos motores indicam a posição do objeto.

34
Figura 24: Detecção de um objeto (xícara) na imagem e valores de acionamento dos

motores do colete para a classe e posição.

3.4 Codicação de imagens em sinais táteis com conjuntos de


descritores locais

Na primeira proposta desenvolvida nesse trabalho a codicação da imagem em sinais

táteis foi feita utilizando vocabulários xos, conforme apresentado nos experimentos da

seção 3.3, onde para cada objeto detectado na cena, a classe desse objeto era mapeada

para um padrão de ativação xo. Ou seja, mesmo que dois objetos sejam diferentes,

se eles pertencerem a mesma classe o sinal de ativação seria igual. O problema dessa

abordagem é a falta de representação semântica no sinal codicado, que pode confundir o

usuário. Por exemplo, em uma situação onde o usuário tem 2 canecas diferentes para serem

identicadas, o sinal transmitido pelo sistema seria igual e o usuário não iria conseguir

diferenciar as canecas.

A capacidade de captura das câmeras digitais avançou muito nos últimos anos e

atualmente mesmo as menores câmeras são capazes de produzir imagens de alta-resolução.

Considerando um sistema de substituição de visão que utiliza uma câmera padrão RGB

com resolução 720p. Esse sistema irá gerar imagens de tamanho 1280 x 720 pixels em

3 canais, o que representa um total de 2.764.800 valores para serem codicados através

de uma interface tátil, o que é um número alto considerando as limitações de largura de

banda dos sistemas de substituição sensorial, que normalmente possuem apenas alguns

atuadores para fazer a transmissão da informação.

35
Apesar da necessidade de comprimir o sinal capturado em forma de imagem para um

grupo de valores a serem ativados nos atuadores do sistema, é importante que a informação

relevante do sinal seja mantida. Se a imagem for apenas reduzida em tamanho através de

um processo de redimensionamento, poderá haver perda de informações.

Ao falar sobre informações relevantes de uma imagem, o objetivo da tarefa a ser

executada deve ser considerado. Por exemplo, em um sistema de substituição sensorial

para navegação, os detalhes dos objetos contidos na imagem capturada não importam,

todavia, as informações referentes a distância de obstáculos e relação entre objetos pode

ser algo importante. Em uma tarefa de reconhecimento de objetos detalhes como forma,

textura, bordas e informações de maior nível semântico, como a roda de um carro ou o

guidão de uma motocicleta, são importantes.

3.4.1 Extração de descritores locais de redes neurais convolucionais

Já foi comprovado que as redes neurais convolucionais desempenham muito bem a

tarefa de extrair informações de imagens em diferentes níveis semânticos. Alguns trabalhos

focados no entendimento dessas redes neurais apresentam modelos para visualização de

ativações nas camadas intermediárias e comprovaram a natureza hierárquica de detecção

de características das imagens (SIMONYAN; VEDALDI; ZISSERMAN, 2013; ZEILER;

FERGUS, 2014; YOSINSKI et al., 2015).

As primeiras camadas das redes neurais convolucionais aprendem a identicar bordas

e cantos, seguidas por camadas que aprendem representações mais complexas, como partes

de objetos, e depois representações mais especícas de cada classe, como rostos de cães

ou rodas de carros. Finalmente, nas últimas camadas as redes são capazes de reconhecer

representações de objetos inteiros.

Para utilizar os descritores locais detectados nas camadas intermediárias das redes

convolucionais é necessário treinar a rede com uma grande quantidade de imagens, de

forma que ela seja capaz de aprender o maior número de descritores possíveis. Porém,

não há nenhum banco de dados de imagens especícas para o uso na tarefa de substituição

de visão ou codicação de imagem em sinal tátil. Entretanto, um recente estudo na área

de transferência de conhecimento (KORNBLITH; SHLENS; LE, 2019) utilizou o banco

de dados de imagens ImageNet (DENG et al., 2009) para treinar diversas redes e então

36
comprovou que as representações intermediárias aprendidas por essas redes generalizam

surpreendentemente bem em diversas outras tarefas, inclusive de domínios diferentes,

como por exemplo imagens médicas. Os autores também demonstraram que os descritores

locais extraídos das camadas intermediárias dessas redes treinadas com o ImageNet trazem

um ganho substancial em relação ao uso de extratores de características locais, como o

SIFT (LOWE, 1999a), SURF (BAY; TUYTELAARS; Van Gool, 2006), ORB (RUBLEE

et al., 2011) e outros. Atualmente, os frameworks de deep learning mais utilizados, como

o TensorFlow, PyTorch, Cae e Keras, já disponibilizam modelos pré-treinados com o

banco de dados ImageNet.

Devido a facilidade de implementação, foi utilizada uma rede VGG16 (SIMONYAN;

ZISSERMAN, 2015) pré-treinada no ImageNet para extrair os descritores locais das ima-

gens, porém esse processo pode ser aplicado utilizando qualquer tipo de arquitetura de

redes convolucionais.

O modelo de rede neural da VGG16 é constituído por blocos sequenciais de operações

de convolução 3×3 e camadas de pooling, que fazem a detecção dos descritores locais na

imagem. Após as camadas de convolução e pooling são utilizadas duas camadas totalmente
conectadas, seguidas de uma ativação do tipo softmax, que é responsável por gerar a saída
da rede com a classicação da imagem.

Para o processo de extração dos descritores, as camadas softmax e as camadas total-

mente conectadas foram descartadas. Foram coletadas as saídas de ativações em diferentes

camadas, entre convolutivas e pooling, com o objetivo de comparar os resultados e avaliar

a similaridade entre imagens em diferentes níveis semânticos. O tamanho de entrada da

rede é de 224x224, que é o tamanho padrão utilizado no ImageNet.

A imagem de entrada é então redimensionada de acordo com o tamanho desejado,

para 224x224, e alimentada na rede VGG16 pré-treinada para que seja processada. Na

saída da camada Ll , é obtido um mapa de ativações Ml de tamanho hl × wl × dl , onde l


é a posição da camada na rede, hl e wl são a altura e largura, e dl é o número de ltros

l
convolucionais na camada Ll . Em cada posição (i, j) é extraído um descritor local fi,j de

tamanho dl , onde 1 ≤ i ≤ hl e 1 ≤ j ≤ wl , obtendo uma lista de descritores locais de

tamanho hl × wl , conforme apresentado na Figura 25.

37
Figura 25: Processo de extração da lista de descritores locais a partir da camada Ll . Cada

l
camada da rede possui hl × wl descritores fi,j de tamanho dl .

3.4.2 Codicação com BoF e VLAD

Após extrair os descritores locais de todas as imagens do conjunto de treinamento

através da rede neural convolucional, foi utilizado o framework conhecido como bag of
features (BoF) (CSURKA et al., 2004) para fazer a compressão desses descritores em

um vetor único e que seja uma representação comprimida da imagem. O método de bag
of features já demonstrou funcionar muito bem para outras tarefas, como classicação

(CSURKA et al., 2004; Zhang et al., 2017) e recuperação de imagens (MOHEDANO et

al., 2016). Este método utiliza uma contagem simples baseada em um vocabulário de

palavras visuais, ou descritores locais, para construir um histograma onde cada descritor

local detectado na imagem é atribuído a uma palavra no vocabulário baseado na distância

de vizinhos próximos.

Além do método de bag of features, foram feitos experimentos com um método mais

recente chamado vector of locally aggregated descriptors (VLAD) (JEGOU et al., 2010),

que acumula as distâncias entre os descritores detectados na imagem para a respectiva

palavra visual atribuída no vocabulário.

A construção do vocabulário de palavras visuais foi feita aplicando o algoritmo de

agrupamento k-means em todas as imagens do conjunto de treinamento, obtendo k cen-

l
troides a partir de todos os descritores fi,j extraídos da ativação da camada Ll . Foi

38
utilizado um vocabulário de tamanho k = 30, que é igual ao número máximo de motores

do colete.

O vetor descritivo de cada imagem foi construído por meio do mapeamento dos des-

critores locais extraídos pela rede neural convolucional de acordo com o centroide mais

próximo no vocabulário de palavras visuais. Esse vetor representa o sinal que deve ser

enviado para ativar os motores na interface tátil. No caso do BoF, é feita a contagem

do número de ocorrências de cada palavra visual, gerando um histograma de descritores

locais. Já para o método VLAD, são acumuladas as distâncias entre cada descritor local

l
fi,j e a respectiva palavra visual, ou centroide ck . Dessa forma, o vetor resultante pelo

método VLAD com descritores locais extraídos da rede convolucional é representado pela

Equação 2, adaptada da Equação 1 que é a equação original apresentada por Jegou et al.

(2010).

X X
vl = [ l
fi,j − c1 , ..., l
fi,j − ck ]. (2)
l =c
fi,j l =c
fi,j
1 k

Após todo o processo de inferência no modelo VGG16, extração de descritores locais

e geração dos vetores BoF ou VLAD para cada uma das imagens, a partir do vocabulário

de palavras visuais, os valores de cada posição do vetor resultante são enviados para

a ativação de um dos motores no colete. O passo a passo completo desse processo de

codicação da imagem em sinais táteis é apresentado na Figura 26.

Figura 26: Passo a passo completo do processo de codicação da imagem em sinais táteis.

39
O tempo de processamento desde a captura da imagem até a ativação dos motores,

foi de 300ms em um PC i7 de 2.80Ghz. No Raspberry Pi 3 B+, esse tempo foi de 3,53s

utilizando o modelo VGG e 570ms utilizando uma arquitetura MobileNet.

3.5 Avaliação semântica do sinal

Para avaliar a qualidade do sinal a ser enviado para a interface tátil, é necessário

um valor único que meça a similaridade semântica desse sinal. Para realizar essa tarefa,

criamos uma nova métrica de avaliação de propriedade semântica, nomeada semantic


property evaluation (SPE) (RIBANI; LIMA; MARENGONI, 2019).

Com a premissa de que os métodos BoF e VLAD conservam as propriedades se-

mânticas em um único vetor descritivo, foram calculadas as distâncias L2, ou distâncias

euclidianas, entre todas as imagens do conjunto de teste utilizando esse vetor e em seguida

os valores foram normalizados entre 0 e 1, obtendo uma matriz identidade de distâncias

Di de tamanho ni × ni , onde ni é igual ao número de imagens no conjunto de teste. Nessa

matriz, é esperado que a diagonal principal tenha apenas zeros, já que ela contém as

distâncias de cada imagem para ela mesma.

Em seguida, a partir da matriz Di , é obtida uma nova matriz identidade de distâncias


Dc , conforme a Figura 27, de tamanho nc × nc , onde nc corresponde ao número de classes

existentes no conjunto de teste. Nessa matriz, são calculadas as médias das distâncias

entre as imagens contidas na mesma classe e os valores são normalizados novamente. Da

mesma forma, é esperado que a diagonal principal tenha os menores valores, já que estes

valores são referentes as distâncias entre imagens da mesma classe.

3.5.1 Métrica de comparação por referência

Na busca de criar uma métrica de avaliação semântica do sinal gerado, a primeira

tentativa consistiu em calcular as distâncias entre a matriz Dc e uma matriz de referência.

Essa matriz de referência foi criada minimizando os valores da diagonal principal, ou seja,

setando todos os valores dessa diagonal para zero, onde é medida a distância de cada

classe para si mesma, conforme a Figura 28. Foi considerada a premissa de que as imagens

devem ter a menor distância possível para outras dentro da mesma classe. Também foi

40
Figura 27: Matriz Dc gerada a partir da matriz Di da Figura ??.

utilizado o conceito de superclasse, que é um nível acima da classe principal. Por exemplo

a superclasse de carro e moto é veículo, e a superclasse de gato e cachorro é animal. Para

a comparação de imagens em diferentes superclasses, o valor na matriz de referência foi

maximizado e setado para 1, considerando a premissa de que esse é o caso onde as imagens

tendem a ser totalmente diferentes. Já para imagens de diferentes classes mas na mesma

superclasse, foram utilizados diferentes valores entre 0 e 1.

Figura 28: Matriz de referência de distâncias entre classes G0.5 . A diagonal principal

é setada com zeros e contém a comparação de cada classe para si mesma. As posições

entre classes de diferentes superclasses, são setadas com valores igual a 1. Já as classes

diferentes, mas dentro da mesma superclasse são setadas com valor x, nesse exemplo x é

igual a 0.5.

41
Sabemos que um carro não é exatamente igual, mas também não é totalmente dife-

rente de uma moto, e também sabemos que normalmente um carro possui características

totalmente diferentes de um animal, por isso não podemos considerar nem 0 e nem 1 nesse

caso. Foram utilizados alguns valores entre 0 e 1 para montar a matriz de referência Gx ,
onde 0 < x < 1. A Figura 28 mostra o exemplo da matriz de referência G0.5 .

Nesse método, para obter um único valor de medida, é calculada a similaridade entre

as matrizes de referência e as saídas dos métodos BoF e VLAD. Essa comparação foi

feita utilizando, tanto a distância L2, quanto o erro quadrático médio (MSE), para uma

melhor comparação entre os diferentes conjuntos de imagens. Essa métrica foi calculada

utilizando as saídas de cada uma das camada da rede VGG16, e utilizando as matrizes

de referência G0.25 , G0.5 e G0.75 .

Foram analisados os resultados da métrica de comparação por referência com os se-

guintes métodos de codicação para sinal tátil: BoF, VLAD e redução de tamanho da

imagem (método utilizado pelo sistema BrainPort); e os seguintes conjuntos de imagens:

um conjunto simples de 16 imagens, CIFAR-10 (KRIZHEVSKY, 2012) e MS COCO (LIN

et al., 2014).

3.5.2 Métrica de pontuação

Para resolver o problema de penalização ao comparar a matriz Dc com uma matriz de

referência, foi desenvolvido um método que realiza a pontuação de cada valor da matriz

Dc com base nos valores esperados para cada classe e superclasse. Foram denidas três

funções que descrevem: i) a pontuação esperada na comparação de uma classe para si

mesma; ii) a pontuação da comparação entre superclasses diferentes; iii) a pontuação de

diferentes classes dentro da mesma superclasse.

A primeira função é utilizada para pontuar os valores na matriz Dc quando duas

imagens pertencem a mesma classe, que são os valores posicionados na diagonal principal

da matriz. Essa função tem por objetivo maximizar a pontuação quando a distância entre

as imagens é zero, e minimizar a pontuação quando a distância é próxima de 1. Ao invés

de penalizar o resultado nal com valores entre o mínimo e o máximo, foi utilizada uma

função sigmoide para variar a pontuação entre 0 e 1 de forma mais suave. Essa função é

descrita pela Equação 3. Os valores de a e b foram denidos empiricamente para 10 e -5,

42
respectivamente.

1
fsigmoid (x) = . (3)
1 + e(ax+b)

Na segunda função, quando fazemos a comparação entre superclasses diferentes foi

feita com a mesma função sigmoide, porém invertendo os valores de a e b, denidos para

-10 e 5, respectivamente. Nesse caso, a função minimiza a pontuação quando a distância

é mínima e aumenta quando a distância é máxima.

A terceira função para pontuação dos valores da matriz Dc quando as imagens estão

em diferentes classes mas contidas na mesma superclasse. Nesse caso qualquer valor

entre 0 e 1 é considerado válido, entretanto, a função denida minimiza gradualmente a

pontuação quando os valores estão mais próximos de 0 ou 1. Essa função foi denida

utilizando uma distribuição gaussiana e é apresentada na Equação 4.

1 −(ax−m)2
fgauss (x) = √ e 2s2 (4)
2πs

Considerando que as imagens contidas na mesma classe tendem a ser mais similares, o

pico da função gaussiana foi deslocado levemente para a esquerda ajustando o valor de m,
mantendo o comportamento de descida na pontuação similar a pontuação das imagens na

mesma classe, porém aplicando uma leve penalização quando a distância se aproxima de

zero. Os parâmetros dessa função gaussiana foram então ajustados empiricamente para

s = 0.4, a = 1.6 e m = a ∗ 0.2.

A Figura 29 mostra as três funções do algoritmo plotadas juntas, e essas funções

denem a métrica SPE com o método de pontuação. A linha em vermelho é a função

fsigmoid utilizada para os valores da matriz Dc onde as imagens pertencem a mesma classe.

A linha em azul é a função fsigmoid utilizada para pontuar os valores da matriz Dc quando

as imagens pertencem a diferentes superclasses. Por m, em verde, é a função fgauss


utilizada para pontuar os valores da matriz Dc quando as imagens são de classes diferentes,
mas ainda da mesma superclasse. O Algoritmo 1 descreve como utilizar essas três funções

recebendo a matriz Dc como entrada.

43
Figura 29: Plotagem das três funções de pontuação.

Algoritmo 1: Cálculo do SPE utilizando a métrica de pontuação.


Entrada: Matriz Dc , nc = número de classes
Saída: Valor da pontuação
pontuacao ← 0
for i ← 1 to nc do
for j ← 1 to nc do
if mesma classe then
a ← 10; b ← −5
pontuacao ← pontuacao + fsigmoid (Dc [i][j], a, b);
if superclasse diferente then
a ← −10; b ← 5
pontuacao ← pontuacao + fsigmoid (Dc [i][j], a, b);
if classe diferente e mesma superclasse then
pontuacao ← pontuacao + fgauss (Dc [i][j]);

retorna pontuacao/nc ∗ nc

44
4 EXPERIMENTOS E RESULTADOS

Nesta seção são apresentados os experimentos realizados e os resultados obtidos, tanto

para os experimentos iniciais, onde buscava-se encontrar métodos de codicação de ima-

gens em sinais táteis utilizando padrões de ativação xos com base nas classes dos objetos,

quanto para os experimentos nais, que apresentam um método mais avançado de codi-

cação utilizando conjuntos de descritores locais. Nessa etapa nal, também foi feita uma

avaliação para denir o melhor método a ser utilizado como forma de medir as proprieda-

des semânticas do sinal, entre comparação por referência e pontuação. O melhor método,

de comparação por pontuação, foi utilizado para avaliar os três experimentos seguintes,

que foram executados de forma separada com diferentes bancos de dados de imagens: um

conjunto simples de 16 imagens, o CIFAR-10 e o MS COCO.

4.1 Codicação com classicação e mapa de ativação

No primeiro experimento realizado, utilizando a rede ResNet-50 com imagens de en-

trada de 224x224, foi possível localizar o objeto na imagem de acordo com a classe de

maior probabilidade na cena. Nessa implementação, o sistema recebe os frames de vídeo

capturados pela câmera e a saída do sistema irá sempre indicar uma classe presente, no

caso, a classe com maior probabilidade de classicação. Uma solução alternativa para

evitar que o sistema que 100% do tempo emitindo algum tipo de sinal na interface, foi

xar a classe desejada, para efeito de apenas executar a localização e considerando que o

usuário saiba qual é o objeto procurado. Nesse caso, o sistema irá indicar a localização

do objeto independente da probabilidade de classicação. Um exemplo desse resultado

é apresentado na Figura 30 e esse caso de uso pode ser aplicado para a situação onde o

usuário ativa o sistema procurando por um objeto especíco.

4.2 Codicação com detecção de objetos

Para obter uma detecção mais precisa e permitir múltiplas instâncias do mesmo objeto,

foram feitos testes utilizando alguns modelos de detecção pré-treinados com o conjunto

de imagens MS COCO e considerando que todos os modelos possuem bons resultados de

45
Figura 30: Resultado da execução do sistema de localização para duas classes, xando a

classe desejada na saída.

acurácia, o foco dessa comparação foi avaliar apenas o tempo de processamento, que é um

ponto importante para viabilizar a solução de substituição sensorial em um dispositivo

portátil, como o Raspberry Pi.

Os experimentos foram realizados tanto no Raspberry Pi quanto em um computador

Macbook Pro 2012 com processador i7 e não foi utilizada a GPU. Os modelos testa-

dos foram o YOLOv3 (REDMON, 2018), na conguração completa e reduzida (Tiny-

YOLOv3), o SSD (LIU et al., 2015) em diferentes congurações baseadas na MobileNet

v1 (HOWARD et al., 2017) e MobileNet v2 (SANDLER et al., 2018), a Mask-RCNN (HE

et al., 2017) e a Faster-RCNN (REN et al., 2015).

A Tabela 3 mostra os tempos de execução em FPS para os modelos testados. O melhor

resultado obtido na execução em CPU foi com o modelo SSD MobileNet v1, com 7,35

FPS. Já no Raspberry Pi, o melhor resultado foi obtido com o modelo SSDLite MobileNet

v2, com 1,25 FPS. A rede do tipo SSDLite possui uma pequena variação em relação a

rede SSD normal, onde todas as camadas convolucionais responsáveis por detecção da rede

SSD são substituídas por blocos iguais aos utilizados na rede MobileNet, com depthwise

46
Tabela 3: Valores de FPS medidos no processamento dos modelos de detecção de objetos

e valores de mAP no MS COCO (disponibilizados pelos autores). Fontes: Redmon e

Farhadi (2018) e Tensorow (2019)

CPU Raspberry Pi mAP

YOLOv3 0,096 0,003 33,0%

Tiny-YOLOv3 1,26 0,032 -

SSD MobileNet v1 7,35 1,20 21,0%

SSD MobileNet v2 5,85 Falta de memória 22,0%

SSDLite MobileNet v2 7,26 1,25 22,0%

Mask RCNN 0,20 Falta de memória 25,0%

Faster RCNN 0,05 Falta de memória 32,0%

separable convolutions, seguidas por convoluções com ltros de tamanho 1x1. Os outros

modelos apresentaram resultados inferiores ou falta de memória durante o processamento

no Raspberry Pi.

Os resultados obtidos em termos de tempo de processamento das redes SSD no Rasp-

bery Pi, mostram que essa combinação de hardware e software pode ser utilizada em

um sistema de substituição sensorial sem maiores problemas, já que esse será capaz de

processar as imagens capturadas em tempo real. Entretanto, os experimentos feitos com

detecção de objetos, ainda utilizaram uma codicação de imagens em sinais táteis através

de padrões xos, mapeados de acordo com a classe do objeto. Por isso, os sistemas de

codicação BoF e VLAD foram implementados, assim como os métodos para avaliar a

propriedade semântica do sinal gerado.

4.3 Avaliação das métricas de comparação

Com o objetivo de denir o melhor entre os dois métodos para calcular a propriedade

semântica do sinal gerado, ou como foi nomeado semantic property evaluation (SPE),

foi feita uma comparação entre as duas métricas de avaliação do sinal: a métrica de

comparação por referência e a métrica de comparação por pontuação, descritas na seção

3.5.1 e seção 3.5.2, respectivamente.

47
Após utilizar o método de comparação por referência para avaliar o sinal gerado, foi

possível perceber que este não reetia bem a representação semântica das distâncias na

matriz Dc , pois qualquer variação em relação a matriz de referência acabava penalizando

o algoritmo. Ao modicar manualmente os valores da matriz Dc com distâncias que apre-

sentavam uma representação semântica menor, foi possível perceber que o erro calculado

em algumas situações também diminuia. Então, para vericar esse comportamento, foram

utilizados dados falsos gerados aleatoriamente algumas vezes no lugar dos descritores de

cada uma das imagens do subconjunto do MS COCO. O erro calculado entre a matriz

Dc com esses dados falsos e a matriz de referência G0.25 resultou em um valor de erro de

0,162 e o erro calculado com os dados reais, foi de 0,169. Esse resultado permitiu validar

o problema de penalização, pois os dados falsos, que não possuem uma representação

semântica, apresentaram um erro menor do que os dados reais.

Utilizando o método de pontuação com os mesmos dados falsos da execução em que

se vericou esse comportamento foi obtido um valor de 58%, contra 64,5% nos dados

reais, provando que o método de pontuação funciona melhor para medir a propriedade

semântica. Com isso, o método de pontuação foi o escolhido para denir o valor de SPE.

As próximas referências para o termo SPE indicam que o método de pontuação estará

sendo aplicado no cálculo.

4.4 Experimento com 16 imagens

Buscando uma primeira análise dos resultados dos métodos de codicação e tam-

bém com o objetivo de simplicar o problema, foi utilizado um conjunto de 16 imagens,

apresentadas na Figura 31 e contidas em 4 classes: gato, cachorro, carro e motocicleta.

Esse conjunto possui 4 imagens em cada uma destas classes, que são divididas em duas

superclasses, animais e veículos.

O vocabulário de palavras visuais foi construído utilizando os descritores locais ex-

traídos de todas as 16 imagens. A partir desse vocabulário, foram construídos os vetores

descritivos de representação para cada imagem no conjunto, utilizando ambos os métodos

BoF e VLAD. Com estes vetores, foram calculadas as distâncias entre todas as imagens,

assim obtendo as matrizes Di e Dc para cada um dos métodos.

48
Figura 31: 16 imagens utilizadas no experimento inicial.

A Figura 32a mostra um exemplo da matriz Dc calculada utilizando as saídas da úl-

tima camada da rede VGG16 antes do bloco de camadas totalmente conectadas (block5_pool),

utilizando o método de BoF. Os valores em verde mostram a classe mais parecida (menor

distância) para cada linha, e os valores em vermelho mostram a classe menos parecida

para cada linha. A Figura 32b apresenta a mesma matriz Dc calculada com as mes-

mas saídas da última camada, porém utilizando os vetores descritivos codicados com o

método VLAD.

Esse processo foi aplicado utilizando as saídas de diferentes camadas da VGG16,

buscando avaliar qual é a melhor camada para ser utilizada na codicação do sinal em

termos de conter uma melhor representação semântica para o conjunto de dados avali-

ado. Os descritores locais foram extraídos de todas as camadas entre o terceiro bloco

de convoluções (block3_conv1) e a última camada antes do bloco totalmente conectado

(block5_pool). Também foram feitos testes com combinações de camadas que possuem

o mesmo tamanho na saída e que permitem essa combinação, no caso as duas últimas

camadas de pooling (block4_pool + block5_pool) e também as três últimas camadas

convolucionais (block5_conv1 + block5_conv2 + block5_conv3). Por m, foi calculado

o valor de SPE para cada matriz Dc gerada de cada uma dessas camadas, ou combinações

de camadas. Os resultados são apresentados no gráco da Figura 33.

49
(a) BoF (b) VLAD

Figura 32: Matrizes Dc calculadas a partir das saídas da última camada de convolução 2D

da VGG16 para o conjunto de 16 imagens e utilizando os métodos (a) BoF e (b) VLAD,

para codicação dos vetores descritivos. Os valores em verde mostram qual é a classe mais

parecida por linha. Os valores em vermelho mostram qual é a classe menos parecida.

Figura 33: Valores SPE calculados com os métodos BoF e VLAD no conjunto de 16

imagens e utilizando descritores locais extraídos de diferentes camadas da rede VGG16.

50
Nesse experimento, concluímos que, para o conjunto simples de 16 imagens e com os

descritores locais extraídos da rede VGG16 pré-treinada com o ImageNet, o melhor método

para codicação das imagens em sinal tátil é o método BoF. Utilizando os descritores

locais extraídos da camada block5_conv1, foi possível obter um valor de 98,6% SPE. A

diferença para o método VLAD foi pequena, com 98,3% SPE a partir dos descritores

locais extraídos da mesma camada.

A matriz Dc representa as distâncias entre as classes, e estes valores são especícos

para o conjunto de imagens em questão. Nessa matriz, para ambos os métodos BoF e

VLAD, nas Figuras 32a e 32b respectivamente, é possível observar uma distância maior

ao comparar a classe cachorro consigo mesma do que ao comparar as classes carro

com motocicleta. Esses valores foram gerados devido a imagens de cachorros que são

visualmente mais diferentes do que o caso da comparação entre carro e motocicleta, mas

normalmente espera-se que os menores valores de distância sejam entre imagens da mesma

classe. Quando essa condição não for verdadeira, a métrica de pontuação irá penalizar o

cálculo nal, resultando em um valor menor de SPE.

4.5 Experimento com o CIFAR-10

A primeira avaliação dos métodos de codicação, com um simples conjunto de 16

imagens, foi feito buscando simplicar o problema e facilitar o entendimento. Para obter

uma análise com referência mais consistente em conjuntos de dados reais, os métodos

também foram avaliados com os conjuntos de dados CIFAR-10 e MS COCO.

O CIFAR-10 é uma coleção que contém 60 mil imagens coloridas, de tamanho 32x32,

em 10 classes e 2 superclasses: animais e veículos. A Figura 34 apresenta algumas imagens

dessa coleção. O conjunto de treinamento possui 50 mil imagens e o conjunto de teste

possui 10 mil imagens. O vocabulário de palavras visuais foi criado utilizando todas as

imagens do conjunto de treinamento, e o conjunto de teste foi utilizado para calcular os

valores de SPE com ambos os métodos BoF e VLAD.

Foi aplicado o mesmo procedimento feito com o conjunto de imagens anterior, e os

resultados estão demonstrados no gráco da Figura 35. Desse experimento, concluímos

que, para o conjunto de dados CIFAR-10 e utilizando o modelo VGG16 pré-treinado com

51
Figura 34: Exemplos de imagens do CIFAR-10.

o ImageNet, o melhor método para codicação das imagens em sinal tátil também é o

método de BoF. Entretanto, nesse caso a melhor camada para extração dos descritores

locais é a camada block4_pool, com 71,6% SPE. Já o melhor valor obtido com o método

VLAD foi de 68,9% SPE, com descritores locais extraídos da camada block4_conv2.

Figura 35: Valores SPE calculados com os métodos BoF e VLAD na coleção de imagens

CIFAR-10 e utilizando descritores locais extraídos de diferentes camadas da rede VGG16.

52
4.6 Experimento com o MS COCO

O último experimento realizado, foi utilizando o conjunto de imagens do MS COCO

para comparação dos resultados com as imagens de baixa resolução do CIFAR-10. A

coleção de imagens do MS COCO possui um total de 328 mil imagens e é normalmente

utilizada para detecção de objetos e segmentação semântica. Ela possui 91 categorias de

objetos sendo que em 82 dessas categorias existem mais de 5 mil instâncias de objetos

rotulados. Esses objetos possuem a informação da localização na imagem e classe, o

que facilita extrair cortes das imagens originais, conforme os exemplos apresentados na

Figura 36, e no caso desse experimento esses cortes são utilizados para fazer a avaliação

da propriedade semântica.

Figura 36: Cortes das imagens extraídos do MS COCO.

Foram selecionadas as mesmas superclasses utilizadas nos experimentos anteriores:

animais e veículos. Nesse conjunto existem 8 classes de veículos (bicicleta, carro, motoci-

cleta, avião, ônibus, trem e barco) e 10 classes de animais (pássaro, gato, cachorro, cavalo,

ovelha, vaca, elefante, urso, zebra e girafa). A partir dos dados de posição dos objetos

nas imagens, foram feitos cortes nas imagens e obtidas novas imagens com os respecti-

vos rótulos para alimentar a rede VGG16, resultando em um total de 64.422 imagens do

53
conjunto de treinamento e 2.747 do conjunto de validação.

O mesmo procedimento aplicado anteriormente, foi utilizado nesse experimento. O

vocabulário de palavras visuais foi criado a partir das imagens do conjunto de treinamento

e o conjunto de validação foi utilizado para calcular os valores de SPE com os métodos

BoF e VLAD. Os resultados desse experimento estão demonstrados no gráco da Figura

37. Com esses resultados, concluímos que, para o subconjunto de imagens selecionado do

MS COCO e utilizando a rede VGG16 pré-treinada com o ImageNet, o melhor método

para codicação das imagens em sinal tátil também foi o método de BoF, com as saídas

da camada block5_pool, com 70,7% SPE. O melhor valor obtido com o método VLAD

foi de 64,5% SPE, com descritores locais extraídos da mesma camada.

Figura 37: Valores SPE calculados com os métodos BoF e VLAD na coleção de imagens

MS COCO e utilizando descritores locais extraídos de diferentes camadas da rede VGG16.

4.7 Comparação entre BoF, VLAD e Downscaling

Muitos dos sistemas de substituição de visão utilizados para a tarefa de reconheci-

mento de objetos, implementam um método simples de redução do tamanho da imagem

(downscaling) para codicação da imagem em sinais táteis (BACH-Y-RITA et al., 1969;

BACH-Y-RITA et al., 1998; PEREIRA, 2006; STRONKS et al., 2016), como o sistema

BrainPort V100 Vision Aid, descrito na seção 1.3. Utilizando a métrica SPE, foi feita

uma comparação entre esse método mais tradicional de redução das imagens e os dois

métodos apresentados aqui, o BoF e o VLAD.

54
Essa comparação foi feita utilizando o conjunto de 16 imagens, o CIFAR-10 e o MS

COCO. Em todos os resultados, o método de BoF apresentou melhores valores de SPE.

Esses resultados são apresentados na Tabela 4.

Tabela 4: Comparação dos valores de SPE entre o sinal codicado utilizando os métodos

BoF, VLAD e redução de tamanho de imagens.

Downscaling BoF VLAD

16 imagens 78,7% 98,6% 98,3%

CIFAR-10 61,6% 71,6% 68,9%

MS COCO 56,2% 70,7% 64,5%

55
5 CONCLUSÕES E TRABALHOS FUTUROS

Na primeira fase de experimentação, foram realizados testes com modelos de classica-

ção e detecção de objetos para codicação de imagens em sinais táteis utilizando padrões

de ativação xos por classe de objeto. Com a rede ResNet-50, foi possível realizar uma

classicação simples na imagem e utilizar das camadas de Global Average Pooling para

localizar o objeto. Essa aplicação pode ser útil para a situação onde o usuário procura

por um objeto especíco. Porém, esse modelo trouxe outras limitações como a detecção

de múltiplas instâncias de objetos, ou o caso onde não há nenhum objeto dentre as classes

treinadas presente na imagem.

Para resolver as limitações do modelo de classicação, foram testados alguns modelos

de detecção de objetos, onde foi possível ativar os motores apenas quando um objeto fosse

detectado e também foi possível identicar a existência de mais de um objeto presente na

imagem. Adicionalmente, foram realizados testes de performance para avaliar a viabili-

dade do uso destes em uma placa Raspberry Pi, onde obteve-se bons resultados para a rede

SSD MobileNet v1 e SSDLite MobileNet v2, com 1,20 FPS e 1,25 FPS, respectivamente.

Na segunda etapa do projeto, buscando contornar o uso de padrões de ativação xos

na interface tátil, foram apresentados dois métodos para codicação de imagens em sinais

táteis, o Bag of Convolutional Features (BoF) e o Vector of Locally Aggregated Descriptors


(VLAD). Ambos os métodos já foram aplicados anteriormente em outras tarefas, como

classicação e recuperação de imagens, mas que até o presente momento não haviam

sido utilizados para codicação de imagens em sinais táteis. Foi demonstrado que estes

métodos proporcionam uma melhor representação semântica do conteúdo da imagem em

comparação ao método de redimensionamento de imagens, utilizado por sistemas como o

BrainPort.

A m de avaliar o sinal codicado por estes algoritmos, também foi apresentado um

novo método para medir a representação semântica do sinal, esse método foi chamado de

semantic property evaluation (SPE). Para o desenvolvimento do SPE, foi considerada a

ideia de que objetos visualmente parecidos também devem gerar sinais na interface tátil

que sejam parecidos, assim como palavras parecidas possuem sons parecidos ao serem

pronunciadas. Valores maiores de SPE indicam que o sinal enviado para a interface tátil

56
irá representar melhor a semântica da imagem e provavelmente irá funcionar melhor como

uma função para que o cérebro consiga decodicá-la.

Nos experimentos realizados com diferentes conjuntos de imagens, os melhores valores

de SPE foram obtidos utilizando o método BoF e também é possível perceber que esse

valor diminui conforme o número de classes aumenta, dado que a complexidade também

aumenta. Da mesma forma como nos experimentos de Novich (2015), onde pessoas surdas

foram capazes de reconhecer palavras com uma taxa de acerto de até 65%, a avaliação

feita nesse trabalho para imagens indica que as chances de uma pessoa cega reconhecer

corretamente os objetos é próxima aos valores obtidos com a métrica de SPE. Por exemplo,

ao utilizar o método BoF para codicação das imagens, as chances de uma pessoa cega

acertar as classes contidas no subconjunto de classes de animais e veículos do MS COCO é

de 70,7%, e dentro do conjunto de 16 imagens testado inicialmente, essa chance é próxima

de 98,6%.

Também foram feitos experimentos com extração de descritores locais de diferentes

camadas da rede neural convolucional e para cada conjunto de dados. No experimento

que utilizou 16 imagens, o melhor valor de SPE foi calculado ao utilizar os descritores

da camada block5_conv1, porém consideramos que esse resultado não é o ideal devido

a pequena quantidade de imagens, que não foi suciente para gerar bons centroides com

o algoritmo k-means. No experimento feito com o conjunto de imagens do CIFAR-10,

concluímos que a melhor camada para extração dos descritores da rede VGG16 foi a

block4_pool. Entretanto, ao utilizar o conjunto de imagens do MS COCO, a melhor

camada para extração dos descritores foi a block5_pool, o que faz sentido devido a dife-

rença do tamanho das imagens em cada coleção e também devido a natureza das redes

convolucionais em aprender padrões visuais organizados de forma hierárquica.

O reconhecimento de objetos por uma pessoa vidente está relacionado a outros fa-

tores além de apenas a informação visual, como contexto, memória e aprendizado. Nas

atividades do dia-a-dia, uma pessoa utiliza outras informações que ajudam o cérebro a

decodicar o sinal recebido em uma representação conhecida de um objeto. No entanto,

foi feita uma avaliação do quanto as implementações dos métodos de BoF e VLAD são

bons para a codicação de imagens em sinais táteis em termos de representação semân-

tica. Com isso, essa pesquisa abre uma oportunidade de realização de experimentos com

57
decientes visuais tendo uma maior conança em relação ao sinal gerado na interface tátil.

O sistema de codicação ainda pode ser melhorado. Em aplicações de recuperação de

imagens, são utilizadas algumas técnicas buscando melhorar os resultados (MOHEDANO

et al., 2016), como PCA e whitening (JÉGOU; CHUM, 2012). Outros métodos também

podem ser considerados, como o treinamento de uma rede do zero para objetos especícos

ou uso de autoencoders para gerar camadas com o mesmo número de parâmetros existentes
no sistema tátil. Ainda assim, foi apresentado aqui um novo método para codicação de

imagens em sinais táteis e uma nova métrica para avaliação dos métodos de codicação

em termos de representação semântica.

A tecnologia desenvolvida utilizando os métodos BoF e VLAD para identicação

de objetos pode ser integrada a um sistema assistivo de navegação e mobilidade, que

combinados em um único sistema podem prover informações mais ricas ao deciente

visual para detecção de obstáculos, mas que também deve exigir um tempo maior de

adaptação por parte do usuário.

O protótipo criado nesse trabalho pode ser utilizado para pesquisas em outras áreas,

como aumento sensorial, jogos, realidade virtual, entre outros. Exemplos de aplicações

nessa linha são: na direção ou pilotagem, fornecendo informações relevantes do veículo ou

do ambiente externo ao veículo; e em jogos de realidade virtual, aumentando a imersão

ao prover sensações táteis sincronizadas com o ambiente virtual.

58
REFERÊNCIAS BIBLIOGRÁFICAS

BACH-Y-RITA, P. et al. Vision substitution by tactile image projection. v. 221, p.

9634, 04 1969.

BACH-Y-RITA, P. et al. Form perception with a 49-point electrotactile stimulus array

on the tongue: A technical note. Journal of Rehabilitation Research and Development,


v. 35, n. 4, p. 427430, 1998. Disponível em: <http://www.rehab.research.va.gov/jour-
/98/35/4/BACH.pdf>.

BAY, H.; TUYTELAARS, T.; Van Gool, L. SURF: Speeded Up Robust Features. In:

European Conference on Computer Vision 2006. [S.l.]: Springer Berlin Heidelberg, 2006.

p. 404417.

CANCAR, L. et al. Tactile-Sight: A sensory substitution device based on distance-related

vibrotactile ow regular paper. International Journal of Advanced Robotic Systems, 2013.
ISSN 17298806.

CARDIN, S.; THALMANN, D.; VEXO, F. A wearable system for mobility improvement

of visually impaired people. Visual Computer, 2007. ISSN 01782789.

CSURKA, G. et al. Visual categorization with bags of keypoints. Work Stat Learn
Comput Vision, ECCV, people.eecs.berkeley.edu, v. 1, 2004.

DAKOPOULOS, D.; BOURBAKIS, N. Preserving visual information in low resolution

images during navigation of visually impaired. In: Proceedings of the 1st International
Conference on PErvasive Technologies Related to Assistive Environments. New York,

NY, USA: ACM, 2008. (PETRA '08), p. 27:127:6. ISBN 978-1-60558-067-8. Disponível

em: <http://doi.acm.org/10.1145/1389586.1389619>.

DENG, J. et al. Imagenet: A large-scale hierarchical image database. In: 2009 IEEE
Conference on Computer Vision and Pattern Recognition. [S.l.: s.n.], 2009. p. 248255.

ISSN 1063-6919.

FORSYTH, D. A.; PONCE, J. Computer Vision - A Modern Approach, Second Edition.


[S.l.]: Pitman, 2012. 1-791 p. ISBN 978-0-273-76414-4.

59
GELDARD, F. A. Some Neglected Possibilities of Communication. Science, v. 131,

n. 3413, p. 15831588, may 1960. ISSN 0036-8075.

GONZáLEZ-MORA, J. et al. Development of a New Space Perception System for Blind


People, Based on the Creation of a Virtual Acoustic Space. 01 1999. 321-330 p.

GRANT, P. et al. The functional performance of the brainport v100 device in persons

who are profoundly blind. Journal of Visual Impairment and Blindness, v. 110, p. 7788,

03 2016.

HE, K. et al. Mask R-CNN. CoRR, abs/1703.06870, 2017. Disponível em: <http:/-
/arxiv.org/abs/1703.06870>.

HE, K. et al. Deep residual learning for image recognition. CoRR, abs/1512.03385, 2015.

Disponível em: <http://arxiv.org/abs/1512.03385>.

HOWARD, A. G. et al. Mobilenets: Ecient convolutional neural networks for mobile

vision applications. CoRR, abs/1704.04861, 2017. Disponível em: <http://arxiv.org/abs-


/1704.04861>.

HUB, A.; DIEPSTRATEN, J.; ERTL, T. Design and development of an indoor

navigation and object identication system for the blind. In: Proceedings of the 6th
International ACM SIGACCESS Conference on Computers and Accessibility. New York,

NY, USA: ACM, 2004. (Assets '04), p. 147152. ISBN 1-58113-911-X. Disponível em:

<http://doi.acm.org/10.1145/1028630.1028657>.

JÉGOU, H.; CHUM, O. Negative evidences and co-occurences in image retrieval: The

benet of pca and whitening. In: FITZGIBBON, A. et al. (Ed.). Computer Vision 
ECCV 2012. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012. p. 774787. ISBN

978-3-642-33709-3.

JEGOU, H. et al. Aggregating local descriptors into a compact image representation.

In: IEEE COMPUTER SOCIETY. 2010 IEEE Computer Society Conference on


Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2010. p. 33043311. ISBN

978-1-4244-6984-0.

60
JOHNSON, L. A.; HIGGINS, C. M. A navigation aid for the blind using tactile-visual

sensory substitution. In: 2006 International Conference of the IEEE Engineering in


Medicine and Biology Society. [S.l.: s.n.], 2006. p. 62896292. ISSN 1557-170X.

KACZMAREK, K. A. et al. Electrotactile and Vibrotactile Displays for Sensory

Substitution Systems. IEEE Transactions on Biomedical Engineering, v. 38, n. 1, p.

116, 1991. ISSN 15582531.

KORNBLITH, S.; SHLENS, J.; LE, Q. V. Do better imagenet models transfer better?

In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.:

s.n.], 2019.

KRIZHEVSKY, A. Learning multiple layers of features from tiny images. University of


Toronto, 05 2012.

KRIZHEVSKY, A.; SUTSKEVER, I.; HINTON, G. E. ImageNet Classication with

Deep Convolutional Neural Networks. Advances In Neural Information Processing


Systems, p. 19, 2012. ISSN 10495258. Disponível em: <http://papers.nips.cc/paper-
/4824-imagenet-classication-with-deep-convolutional-neural-networks.pdf>.

LECUN, Y. et al. Gradient-based learning applied to document recognition. Proceedings


of the IEEE, v. 86, n. 11, p. 22782323, 1998. ISSN 00189219.

LIN, K. W. et al. A wearable stereo vision system for visually impaired. In: 2012
IEEE International Conference on Mechatronics and Automation. [S.l.: s.n.], 2012. p.

14231428. ISSN 2152-7431.

LIN, T. et al. Microsoft COCO: common objects in context. CoRR, abs/1405.0312, 2014.

Disponível em: <http://arxiv.org/abs/1405.0312>.

LIU, J. Image retrieval based on bag-of-words model. CoRR - Computing Research


Repository, abs/1304.5168, 2013.

LIU, W. et al. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.

Disponível em: <http://arxiv.org/abs/1512.02325>.

LOOMIS, J. M. On the tangibility of letters and braille. Perception & Psychophysics,


v. 29, n. 1, p. 3746, Jan 1981. ISSN 1532-5962. Disponível em: <https://doi.org/10-
.3758/BF03198838>.

61
LOOMIS, J. M.; KLATZKY, R. L.; GIUDICE, N. A. Sensory substitution of vision:

Importance of perceptual and cognitive processing. Assistive Technology for Blindness


and Low Vision, n. February 2016, p. 162191, 2012. ISSN 1098-6596.

LOWE, D. Object recognition from local scale-invariant features. In: Proceedings of the
Seventh IEEE International Conference on Computer Vision. [S.l.]: IEEE, 1999. v. 99,

p. 11501157 vol.2. ISBN 0-7695-0164-8.

LOWE, D. G. Object recognition from local scale-invariant features. In: Proceedings of


the International Conference on Computer Vision-Volume 2 - Volume 2. Washington,

DC, USA: IEEE Computer Society, 1999. (ICCV '99), p. 1150. ISBN 0-7695-0164-8.

Disponível em: <http://dl.acm.org/citation.cfm?id=850924.851523>.

LOWE, D. G. Distinctive image features from scale-invariant keypoints. Int. J. Comput.


Vision, Kluwer Academic Publishers, Hingham, MA, USA, v. 60, n. 2, p. 91110, nov.

2004. ISSN 0920-5691. Disponível em: <http://dx.doi.org/10.1023/B:VISI.0000029664-


.99615.94>.

MEERS, S.; WARD, K. A substitute vision system for providing 3 d perception and gps

navigation via electro-tactile stimulation. In: . [S.l.: s.n.], 2005.

MEIJER, P. B. L. An experimental system for auditory image representations. IEEE


Transactions on Biomedical Engineering, v. 39, n. 2, p. 112121, Feb 1992. ISSN

0018-9294.

MOHEDANO, E. et al. Bags of Local Convolutional Features for Scalable Instance

Search. In: Proceedings of the 2016 ACM on International Conference on Multimedia


Retrieval - ICMR '16. [S.l.]: ACM Press, 2016. p. 327331. ISBN 9781450343596.

NOVICH, S. D. Sound-to-Touch Sensory Substitution and Beyond. 2015. Disponível em:

<https://scholarship.rice.edu/handle/1911/88379?show=full>.

PEREIRA, M. C. Sistema de substituição sensorial para auxílio a decientes visuais via


técnicas de processamento de imagens e estimulação cutânea. Tese (Doutorado), 2006.

PERRONNIN, F. Universal and adapted vocabularies for generic visual categorization.

IEEE Trans. Pattern Anal. Mach. Intell., IEEE Computer Society, Washington,

62
DC, USA, v. 30, n. 7, p. 12431256, jul. 2008. ISSN 0162-8828. Disponível em:

<http://dx.doi.org/10.1109/TPAMI.2007.70755>.

REDMON, J. Darknet: Open Source Neural Networks in C. 2018. http://pjreddie.


com/darknet/. [Online; acessado em 20 de outubro de 2018.].

REDMON, J. et al. You only look once: Unied, real-time object detection. In: 2016
IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.: s.n.],

2016. p. 779788. ISSN 1063-6919.

REDMON, J.; FARHADI, A. YOLO9000: better, faster, stronger. CoRR,


abs/1612.08242, 2016. Disponível em: <http://arxiv.org/abs/1612.08242>.

REDMON, J.; FARHADI, A. Yolov3: An incremental improvement. CoRR,


abs/1804.02767, 2018. Disponível em: <http://arxiv.org/abs/1804.02767>.

REN, S. et al. Faster R-CNN: towards real-time object detection with region proposal

networks. CoRR, abs/1506.01497, 2015. Disponível em: <http://arxiv.org/abs/1506-


.01497>.

RIBANI, R.; LIMA, R. F.; MARENGONI, M. Toward encoding vision-to-touch with

convolutional neural networks. IEEE Access, v. 7, p. 161175161183, 2019. ISSN

2169-3536.

RIBANI, R.; MARENGONI, M. Vibrotactile system for vision substitution using deep

learning. In: Anais do XIV Workshop de Visão Computacional. [S.l.: s.n.], 2018. p.

196201. ISBN 978-85-7455-514-0.

RIBANI, R.; MARENGONI, M. Vision substitution with object detection and

vibrotactile stimulus. In: INSTICC. Proceedings of the 14th International Joint


Conference on Computer Vision, Imaging and Computer Graphics Theory and
Applications - Volume 4: VISAPP,. [S.l.]: SciTePress, 2019. p. 584590. ISBN

978-989-758-354-4.

RITA, P. B. y; KERCEL, S. W. Sensory substitution and the humanmachine interface.

Trends in Cognitive Sciences, v. 7, n. 12, p. 541  546, 2003. ISSN 1364-6613. Disponível

em: <http://www.sciencedirect.com/science/article/pii/S1364661303002900>.

63
RUBLEE, E. et al. ORB: An ecient alternative to SIFT or SURF. International
Conference on Computer Vision, IEEE, p. 25642571, nov 2011.

RUSSAKOVSKY, O. et al. Imagenet large scale visual recognition challenge. Int. J.


Comput. Vision, Kluwer Academic Publishers, Hingham, MA, USA, v. 115, n. 3, p.

211252, dez. 2015. ISSN 0920-5691. Disponível em: <http://dx.doi.org/10.1007/s11263-


015-0816-y>.

RUSSELL, B. C. et al. LabelMe: A Database and Web-Based Tool for Image Annotation.
2008.

SANDLER, M. et al. Mobilenetv2: Inverted residuals and linear bottlenecks. CoRR,


abs/1801.04381, 2018. Disponível em: <http://arxiv.org/abs/1801.04381>.

SHEN, G. et al. End-to-end deep image reconstruction from human brain activity.

bioRxiv, p. 272518, 2018. Disponível em: <https://www.biorxiv.org/content/biorxiv-


/early/2017/12/28/240317.full.pdf https://www.biorxiv.org/content/early/2018/02/27-

/272518.full.pdf+html>.

SIMONYAN, K.; VEDALDI, A.; ZISSERMAN, A. Deep Inside Convolutional Networks:

Visualising Image Classication Models and Saliency Maps. CoRR, abs/1312.6034, 2013.

SIMONYAN, K.; ZISSERMAN, A. Very Deep Convolutional Networks for Large-Scale

Image Recognition. International Conference on Learning Representations (ICRL),


p. 114, 2015. ISSN 09505849. Disponível em: <http://www.robots.ox.ac.uk/
http://arxiv.org/abs/1409.1556>.

STRONKS, H. C. et al. Visual task performance in the blind with the BrainPort V100
Vision Aid. 2016. 919931 p. Disponível em: <http://www.tandfonline.com/action-
/journalInformation?journalCode=ierd20>.

SZEGEDY, C. et al. Going deeper with convolutions. In: Proceedings of the IEEE
Computer Society Conference on Computer Vision and Pattern Recognition. [S.l.: s.n.],

2015. v. 07-12-June, p. 19. ISBN 9781467369640. ISSN 10636919.

TAPU, R.; MOCANU, B.; TAPU, E. A survey on wearable devices used to assist the

visual impaired user navigation in outdoor environments. In: 2014 11th International
Symposium on Electronics and Telecommunications (ISETC). [S.l.: s.n.], 2014. p. 14.

64
TENSORFLOW. Tensorow detection model zoo. 2019. https://github.com/
tensorflow/models/blob/master/research/object_detection/g3doc/detection_
model_zoo.md. [Online; acessado em 13 de Dezembro de 2019].

VIOLA, P.; JONES, M. Rapid object detection using a boosted cascade of simple

features. In: Proceedings of the 2001 IEEE Computer Society Conference on Computer
Vision and Pattern Recognition. CVPR 2001. [S.l.: s.n.], 2001. v. 1, p. II. ISSN

1063-6919.

VISELL, Y. Tactile sensory substitution: Models for enaction in hci. Interact. Comput.,
Elsevier Science Inc., New York, NY, USA, v. 21, n. 1-2, p. 3853, jan. 2009. ISSN

0953-5438. Disponível em: <http://dx.doi.org/10.1016/j.intcom.2008.08.004>.

WORLD HEALTH ORGANIZATION. Global Data on Visual Impairments 2010. 2012.

Disponível em: <http://www.who.int/blindness/GLOBALDATAFINALforweb.pdf>.

YOSINSKI, J. et al. Understanding neural networks through deep visualization. In: Deep
Learning Workshop, International Conference on Machine Learning (ICML). [S.l.: s.n.],

2015.

ZEILER, M. D.; FERGUS, R. Visualizing and Understanding Convolutional Networks.

In: European Conference on Computer Vision 2014. [S.l.]: Springer International

Publishing, 2014. p. 818833.

Zhang, C. et al. Fine-grained image classication via low-rank sparse coding with general

and class-specic codebooks. IEEE Transactions on Neural Networks and Learning


Systems, v. 28, n. 7, p. 15501559, July 2017.

ZHOU, B. et al. Learning deep features for discriminative localization. CoRR,


abs/1512.04150, 2015. Disponível em: <http://arxiv.org/abs/1512.04150>.

65

Você também pode gostar