Escolar Documentos
Profissional Documentos
Cultura Documentos
PROGRAMA DE PÓS-GRADUAÇÃO EM
ENGENHARIA ELÉTRICA E COMPUTAÇÃO
Ricardo Ribani
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.
CDD 006.32
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.
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.
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%.
iii
Sumário
1 INTRODUÇÃO 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 REFERENCIAL TEÓRICO 11
2.1 Substituição sensorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 MATERIAIS E MÉTODOS 26
3.1 Protótipo versão 1 (Max. 10 motores) . . . . . . . . . . . . . . . . . . . . . 26
4 EXPERIMENTOS E RESULTADOS 45
4.1 Codicação com classicação e mapa de ativação . . . . . . . . . . . . . . 45
REFERÊNCIAS BIBLIOGRÁFICAS 65
Lista de Figuras
1 Sistema TVSS. Fonte: BACH-Y-RITA et al. (1969). . . . . . . . . . . . . . 7
17 Diagrama do protótipo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
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
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
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).
uma imagem por meio desses dispositivos. Muitos dos trabalhos na área de substituição
táteis através da redução de escala e conversão para um canal único, de forma que cada
al., 1969; BACH-Y-RITA et al., 1998; RITA; KERCEL, 2003; STRONKS et al., 2016;
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,
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
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)
tátil. No entanto, a codicação dos dados de uma imagem é algo mais complexo que
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
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
tradicionais, é que as camadas das redes convolucionais são capazes de aprender auto-
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-
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.
algoritmo de bag of features (RIBANI; LIMA; MARENGONI, 2019), que já foi aplicada
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
deve ser capaz de traduzir esse sinal para uma classe conhecida de objeto.
dicação, é importante testar o sinal gerado pelo sistema, de que este é correto e que
trabalho, foi implementado um novo método para avaliar a similaridade semântica das
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
visuais que estes dois animais possuem e que um carro não possui. Essa avaliação foi rea-
simples de imagens contendo 4 classes: carro, moto, gato e cachorro, e em seguida foram
diferença do sinal entre superclasses distintas, como carro e moto, que são veículos, ou
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
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
dessas pessoas utilizam a bengala para desviar de obstáculos, ou cães-guia para auxiliar
essas pessoas também possam ter acesso às novas tecnologias assistivas, que sejam de
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
que permite a integração sem precisar de grandes equipamentos, esses sistemas possuem
outros meios (RITA; KERCEL, 2003; PEREIRA, 2006; VISELL, 2009). Um exemplo
uma percepção mais apurada do ambiente a sua volta, através do tato ou da audição, como
através de áudio. No entanto, esses sistemas de substituição de visão criados até então,
No trabalho realizado por Novich (2015), usuários que perderam totalmente a audição
4
pelo microfone de um telefone celular, codicadas em padrões e enviadas ao usuário através
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
convolucionais para resolver problemas de entendimento de imagens, e logo, são uma boa
1.2 Objetivo
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
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).
neurais convolucionais.
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-
trabalhos.
dos muito simples, como redução de escala das imagens para o mesmo tamanho da matriz
SON; HIGGINS, 2006; BACH-Y-RITA et al., 1969). Em outros trabalhos, mais focados
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
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
Outros trabalhos, que também utilizam imagens como entrada, codicam as informa-
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
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
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
Port V100 Vision Aid (STRONKS et al., 2016), apresentado nas Figuras 2 e 3, custando
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
atuadores.
indivíduos que possuíam algum tipo de deciência visual, com o objetivo de avaliar a
Após 15-20 horas de treinamento, os indivíduos obtiveram uma taxa de acerto de 75%.
palavras contendo de 3-5 letras e a taxa de acerto obtida foi de apenas 15%. O autor
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)
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
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
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%
utilizar apenas a imagem em escala de cinza, foi utilizado o algoritmo Canny de detecção
foi de 88%, porém a taxa de acerto para reconhecimento de objetos foi abaixo de 30%
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
Foi desenvolvido um colete que utiliza motores de vibração como atuadores táteis, con-
palavras e após obterem uma taxa de 75% de acerto nesse conjunto de treinamento, foram
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
Este projeto está dividido da seguinte forma: no capítulo 2 é feita uma revisão so-
10
2 REFERENCIAL TEÓRICO
O sentido da visão utiliza os olhos como um sensor, por onde as imagens são captadas
codicados para o cérebro, que por sua vez é capaz de interpretar esses sinais de forma
capturada, já que a percepção da imagem possui também uma relação com a memória,
informações que normalmente são recebidas por outro sensor. A substituição sensorial
receber informações através da pele, como sinais de áudio ou imagens (RITA; KERCEL,
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
bordas das imagens, demonstrando que estas carregam as informações mais importantes
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
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
A largura de banda da visão é muito superior à dos outros sentidos e por essa razão
inevitavelmente irá resultar em algum tipo de perda de informações. Ela compreende dois
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á
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
(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
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
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
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
Portátil Deve ser leve e fácil de montar, que possa ser levado em
mico.
inesperadas.
treinamentos.
uso.
zar sinais extraídos diretamente do córtex cerebral através de ressonância magnética para
LeCun et al. (1998) e mostrou um importante avanço nos resultados para reconhecimento
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
14
mostraram que as redes eram capazes de aprender as características presentes no banco
redes convolucionais em aplicações reais era limitado devido ao alto custo computacional
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,
çã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
em relação ao vencedor do ano anterior, com uma taxa de erro muito próxima à do pri-
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
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
O GoogLeNet possui módulos chamados Inception que realizam convoluções com di-
único tamanho de ltro, permitindo que o modelo aprenda automaticamente qual ltro
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
tacional e o overtting.
Com a motivação de utilizar modelos mais profundos e ao mesmo tempo evitar o pro-
residual (HE et al., 2015). Utilizando-se desse conceito, a rede ResNet foi a vencedora da
competição ILSVRC-2015.
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-
Diferente da rede GoogLeNet (SZEGEDY et al., 2015) que utiliza ramicações auxili-
entre blocos de camadas, que podemos chamar de atalhos para propagação do sinal ou
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 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
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%
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),
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
ú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
A rede YOLO baseia-se nas técnicas apresentadas no modelo GoogLeNet, que utiliza
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
diversas melhorias, como normalização por lotes durante o treinamento após cada camada
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).
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
a detecção em diferentes escalas, que é uma das principais diferenças da rede SSD para a
Cada camada da rede SSD pode produzir um número xo de detecções aplicando uma
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
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
apesar dos valores de precisão serem mais baixos, eles ainda são aceitáveis para a aplicação
(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.
mAP
YOLOv3 33,0%
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.
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
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.
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-
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:
no caso, o k-means;
• E por último uma contagem de quantas vezes cada palavra aparece na imagem,
Para o processo de classicação é proposta mais uma etapa, que consiste em enviar o
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
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
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
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
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
em seguida os valores são normalizados e este será o vetor que descreve a imagem.
Jegou et al. (2010) propõe um método para representação vetorial de imagens derivado
algoritmo SIFT para geração dos descritores, que são agregados com base em um critério
palavras visuais.
24
cada imagem com d descritores, cada descritor local x é atribuído a uma das palavras do
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
descritivo para a imagem representado por vi,j , onde i = {1, ..., k} e j = {1, ..., d}.
25
3 MATERIAIS E MÉTODOS
similar ao desenvolvido por Novich (2015), porém voltado para o auxílio de decientes
que permite a realização de tarefas do dia-a-dia sem obstrução de nenhum outro sentido.
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
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.
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
programação Python, que foram utilizado no processo de inferência dos modelos de deep
learning.
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
uma voltagem padrão de 3V a 5V no modelo utilizado. Cada motor pode ser ativado ou
também é possível alterar as posições dos motores, já que estes estão xados com tas
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
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
Para validar o funcionamento correto de todo o sistema foi feito um teste utilizando o
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
Uma segunda versão do protótipo foi desenvolvida para suportar uma maior largura
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.
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
29
Figura 19: Detalhe do motor de vibração utilizado na versão 2 do protótipo e o conjunto
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é-
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
No primeiro experimento com a rede ResNet-50, o problema foi reduzido para a clas-
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
30
redimensionada para ter apenas 2 neurônios. Em seguida, foi feito o retreinamento da
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
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
imagem. Para obter o mapa de ativação que contém a localização da classe detectada na
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).
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
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
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
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
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).
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
na cena, em que o usuário não será capaz de saber quantos objetos estão presentes ou
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).
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
2019).
O banco de dados Microsoft COCO possui 80 classes. Para esse experimento, foi
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%
igual ao número de classes do modelo. Logo, é mapeada uma classe de saída do modelo
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
objeto, o único processo necessário foi de calcular a área de intersecção entre o quadrante
possível observar esse processo na Figura 24, com a imagem de entrada, a representação
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
34
Figura 24: Detecção de um objeto (xícara) na imagem e valores de acionamento dos
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
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
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
banda dos sistemas de substituição sensorial, que normalmente possuem apenas alguns
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
para navegação, os detalhes dos objetos contidos na imagem capturada não importam,
ser algo importante. Em uma tarefa de reconhecimento de objetos detalhes como forma,
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
Para utilizar os descritores locais detectados nas camadas intermediárias das redes
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 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
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
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
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.
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 224x224, e alimentada na rede VGG16 pré-treinada para que seja processada. Na
l
convolucionais na camada Ll . Em cada posição (i, j) é extraído um descritor local fi,j de
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 .
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
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
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),
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
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
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
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,
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,
euclidianas, entre todas as imagens do conjunto de teste utilizando esse vetor e em seguida
matriz, é esperado que a diagonal principal tenha apenas zeros, já que ela contém as
existentes no conjunto de teste. Nessa matriz, são calculadas as médias das distâncias
mesma forma, é esperado que a diagonal principal tenha os menores valores, já que estes
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
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
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
guintes métodos de codicação para sinal tátil: BoF, VLAD e redução de tamanho da
et al., 2014).
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
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
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 é
42
respectivamente.
1
fsigmoid (x) = . (3)
1 + e(ax+b)
feita com a mesma função sigmoide, porém invertendo os valores de a e b, denidos para
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
pontuação quando os valores estão mais próximos de 0 ou 1. Essa função foi denida
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
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
43
Figura 29: Plotagem das três funções de pontuação.
retorna pontuacao/nc ∗ nc
44
4 EXPERIMENTOS E RESULTADOS
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
trada de 224x224, foi possível localizar o objeto na imagem de acordo com a classe de
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
é apresentado na Figura 30 e esse caso de uso pode ser aplicado para a situação onde o
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
45
Figura 30: Resultado da execução do sistema de localização para duas classes, xando a
acurácia, o foco dessa comparação foi avaliar apenas o tempo de processamento, que é um
Macbook Pro 2012 com processador i7 e não foi utilizada a GPU. Os modelos testa-
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
separable convolutions, seguidas por convoluções com ltros de tamanho 1x1. Os outros
no Raspberry Pi.
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
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
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
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
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
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á
Buscando uma primeira análise dos resultados dos métodos de codicação e tam-
Esse conjunto possui 4 imagens em cada uma destas classes, que são divididas em duas
BoF e VLAD. Com estes vetores, foram calculadas as distâncias entre todas as imagens,
48
Figura 31: 16 imagens utilizadas no experimento inicial.
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.
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
(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
o valor de SPE para cada matriz Dc gerada de cada uma dessas camadas, ou combinações
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
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
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
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
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
O CIFAR-10 é uma coleção que contém 60 mil imagens coloridas, de tamanho 32x32,
possui 10 mil imagens. O vocabulário de palavras visuais foi criado utilizando todas as
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
52
4.6 Experimento com o MS COCO
objetos sendo que em 82 dessas categorias existem mais de 5 mil instâncias de objetos
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.
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.
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
37. Com esses resultados, concluímos que, para o subconjunto de imagens selecionado do
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
Figura 37: Valores SPE calculados com os métodos BoF e VLAD na coleção de imagens
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
54
Essa comparação foi feita utilizando o conjunto de 16 imagens, o CIFAR-10 e o MS
Tabela 4: Comparação dos valores de SPE entre o sinal codicado utilizando os métodos
55
5 CONCLUSÕES E TRABALHOS FUTUROS
çã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
de detecção de objetos, onde foi possível ativar os motores apenas quando um objeto fosse
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 interface tátil, foram apresentados dois métodos para codicação de imagens em sinais
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
BrainPort.
novo método para medir a representação semântica do sinal, esse método foi chamado de
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
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
de 98,6%.
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
concluímos que a melhor camada para extração dos descritores da rede VGG16 foi a
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
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
foi feita uma avaliação do quanto as implementações dos métodos de BoF e VLAD são
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.
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
visual para detecção de obstáculos, mas que também deve exigir um tempo maior de
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
58
REFERÊNCIAS BIBLIOGRÁFICAS
9634, 04 1969.
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.
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
CSURKA, G. et al. Visual categorization with bags of keypoints. Work Stat Learn
Comput Vision, ECCV, people.eecs.berkeley.edu, v. 1, 2004.
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.
59
GELDARD, F. A. Some Neglected Possibilities of Communication. Science, v. 131,
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.
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.
978-1-4244-6984-0.
60
JOHNSON, L. A.; HIGGINS, C. M. A navigation aid for the blind using tactile-visual
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.
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.
LIN, T. et al. Microsoft COCO: common objects in context. CoRR, abs/1405.0312, 2014.
LIU, W. et al. SSD: single shot multibox detector. CoRR, abs/1512.02325, 2015.
61
LOOMIS, J. M.; KLATZKY, R. L.; GIUDICE, N. A. Sensory substitution of vision:
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,
DC, USA: IEEE Computer Society, 1999. (ICCV '99), p. 1150. ISBN 0-7695-0164-8.
MEERS, S.; WARD, K. A substitute vision system for providing 3 d perception and gps
0018-9294.
<https://scholarship.rice.edu/handle/1911/88379?show=full>.
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. 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.],
REN, S. et al. Faster R-CNN: towards real-time object detection with region proposal
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.
978-989-758-354-4.
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.
RUSSELL, B. C. et al. LabelMe: A Database and Web-Based Tool for Image Annotation.
2008.
SHEN, G. et al. End-to-end deep image reconstruction from human brain activity.
/272518.full.pdf+html>.
Visualising Image Classication Models and Saliency Maps. CoRR, abs/1312.6034, 2013.
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.],
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
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.
Zhang, C. et al. Fine-grained image classication via low-rank sparse coding with general
65