19
PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO EM DESENVOLVIMENTO TECNOLÓGICO E INOVAÇÃO (PIBITI) UNIVERSIDADE ESTADUAL DE CAMPINAS RELATÓRIO FINAL DE ATIVIDADES QUOTA: 2016/2017 Localização de Vagas de Estacionamento em Imagens Capturadas por Câmeras de Celular BOLSISTA: João Tadeu de Aguiar Fonseca, RA 146649 ORIENTADORA: Prof.ª Paula Dornhofer Paro Costa Agosto, 2017

Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Embed Size (px)

Citation preview

Page 1: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO EM DESENVOLVIMENTO TECNOLÓGICO E INOVAÇÃO (PIBITI)

UNIVERSIDADE ESTADUAL DE CAMPINAS

RELATÓRIO FINAL DE ATIVIDADES

QUOTA: 2016/2017

Localização de Vagas de Estacionamento em Imagens Capturadas por Câmeras de

Celular

BOLSISTA: João Tadeu de Aguiar Fonseca, RA 146649

ORIENTADORA: Prof.ª Paula Dornhofer Paro Costa

Agosto, 2017

Page 2: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando vagas de estacionamento. Um sistema capaz de mostrar aos motoristas o espaço disponível mais próximo para estacionar, oferece economia de tempo e combustível e contribui para a diminuição de carros em circulação, aliviando o trânsito e o estresse dos motoristas. O presente projeto explorou a integração das informações providas por uma rede de sensores magnéticos capaz de informar as coordenadas GPS (Global Position System) de vagas para estacionar com imagens capturadas por câmera de celular. O principal resultado do projeto foi o desenvolvimento de sistema de Realidade Aumentada para sistema Android, capaz de indicar ao motorista as vagas mais próximas, por meio de indicação visual na tela do celular ou de sistemas HUD (Heads-Up Displays).

1 de 19

Page 3: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Apresentação O presente relatório é a síntese de um projeto de iniciação científica amparado pelo

programa PIBITI-CNPq. Esta iniciação é fruto de um trabalho conjunto com uma empresa incubada na INCAMP (Incubadora de Empresas de Base Tecnológica da Unicamp) e apresenta como tema principal o desenvolvimento de uma aplicação para celular capaz de indicar o posicionamento de vagas através de RA (Realidade Aumentada).

Introdução No mundo apressado de hoje, os motoristas se irritam em busca de melhores opções de vagas para estacionar. Além da frustração dos motoristas, a inexistência de sistemas de estacionamento inteligentes e eficientes contribuem para o aumento dos congestionamentos e, consequentemente, para uma maior emissão de gases poluentes e para o desperdício de combustível [5]. Por este motivo, o foco na gestão de vagas de estacionamento e da mobilidade urbana tem aumentado cada vez mais, demandando soluções tecnológicas inteligentes. No Brasil, há sistemas já implantados, conhecidos como "estacionamento inteligente", que visam facilitar e auxiliar a ação de estacionar. Contudo, esses sistemas são mais frequentes em locais como centros comerciais e aeroportos [4,6]. Tais sistemas utilizam, em sua maioria, sensores que detectam a presença do veículo e guiam o motorista através de sistemas de luz de indicação. Em vias públicas, nos chamados estacionamentos rotativos, também já existem soluções brasileiras implantadas ou em fase de teste. Estas soluções visam facilitar a gestão das vagas públicas disponíveis. Um dos principais problemas observados na difusão dos sistemas de inteligentes de estacionamentos é o seu custo agregado, já que geralmente é utilizado um sensor por vaga de estacionamento, onerando a instalação e a manutenção do sistema [1].

Com o intuito de solucionar esse e outros problemas, a empresa Cogneti-Tec foi criada. A Cogneti-Tec tem como foco criar soluções inovadoras e inteligentes com base na revolução tecnológica causada pela Internet das Coisas. Atualmente a empresa está no primeiro ano de incubação na INCAMP. De uma forma abrangente, o sistema completo é mostrado na Figura 1. Na arquitetura apresentada, o mote (sensor da rede capaz de realizar algum tipo de processamento) detecta a mudança de estado de ocupação da vaga de estacionamento utilizando o algoritmo e transmite o estado para o repetidor mais próximo. Este último retransmite a mensagem de estado da vaga para outros repetidores, até que a mensagem chegue a um gateway responsável por repassá-la até um servidor, constituído por banco de dados e Web Service. Por fim, o servidor, que tem a finalidade de gerenciar o sistema, apresenta a informação de forma intuitiva para o usuário final utilizando um aplicativo de smartphone.

2 de 19

Page 4: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Figura 1: Esboço das partes componentes no projeto apresentados de forma gráfica

Ao tornar o uso do sistema viável pelo usuário comum, agrega-se valor ao produto, tornando sua adoção mais atraente, por exemplo, por locais como shopping centers ou similares. Com base na ideia de melhorar o atrativo do sistema de estacionamento para os usuários de aplicativos de smartphones, este projeto tem como proposta explorar o desenvolvimento de um aplicativo capaz de apontar vagas livres que estejam registradas no sistema. A ideia é facilitar a identificação e localização das vagas para o usuário, integrando o ambiente à própria tela do aplicativo. No contexto de IoT (Internet das Coisas) os aplicativos se apresentam como principal interface com o usuário médio, uma vez que o uso de smartphones é disseminado. Dentro deste escopo, a RA emerge como uma das principais tendências tecnológicas para a interação entre usuários, dispositivos e mundo real. Isso vem do fato de que a RA, se comparada, por exemplo, com a tecnologia de Realidade Virtual (RV), é fácil de ser implementada, já que não exige nenhum aparato especial (como os óculos de realidade virtual, por exemplo). Além disso, a RA tipicamente proporciona ao usuário uma experiência “futurista” e pode ser aplicada em diferentes contextos [10]. O conceito de RA é definido como a tecnologia que cria a ilusão multimídia de interação de um objeto virtual num ambiente real. Vem sendo pesquisada a aplicação e viabilidade desta tecnologia em estacionamentos. Nestas aplicações, o uso de RA está sempre aliado a outras tecnologias como, por exemplo, aprendizagem de máquina, inteligência artificial e omni-visão.

3 de 19

Page 5: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Objetivos O presente projeto teve como objetivo agregar novas funcionalidades ao sistema de localização de vagas de estacionamento atualmente em desenvolvimento pela empresa Cogneti-Tec, incubada na INCAMP. O projeto caracteriza uma parceria de inovação colaborativa, por meio da qual a formação do bolsista foi enriquecida pela vivência proporcionada num ambiente de desenvolvimento de novas tecnologias e sua transformação em produto. Os objetivos específicos propostos para este trabalho são:

● Especificação de interface para apresentação de vagas em imagens seguindo um modelo de RA;

● Construção de uma base de imagens/vídeos correlacionada com informações de sensores magnéticos de estacionamento e informações de GPS para fins de testes de algoritmos e validação de protótipos;

● Proposta e teste de algoritmo de detecção de vagas de estacionamento utilizando imagens de câmera de celular e informação de GPS fornecida por sensores de vagas;

● Desenvolvimento de um aplicativo capaz de indicar vagas livres de um sistema de estacionamento, utilizando como recurso inovador RA.

Metodologia A tecnologia de RA consiste na integração de informações virtuais a visualizações do mundo real. A metodologia seguida no projeto determinou, numa primeira fase, que se realizasse um estudo abrangente das tendências de mercado de tecnologias de RA voltadas para o mercado automobilístico. Além disso, buscou-se também realizar um estudo sobre as tendências e tecnologias visualizadas para o contexto de dispositivos móveis portáteis e seu uso em smart cities, além de um estudo sobre as tendências de evolução de tecnologias como HUDs (do inglês, Heads-Up Displays ou pára-brisas de carros capazes de apresentar informações virtuais aos seus motoristas). Adicionalmente, propôs-se investigar alternativas e propostas câmeras omnidirecionais para o mercado automobilístico. Este estudo teve como objetivo levantar e documentar os requisitos para o desenvolvimento da aplicação de apresentação de vagas ao usuário [2]. Após uma definição mais concreta dos requisitos de projeto, investiu-se na implementação de um aplicativo que indique a posição de vagas livres através de RA. Dentro deste escopo ainda foi estudado aprendizagem de máquina, mais especificamente reconhecimento de imagem visando estabelecer um procedimento dentro de uma aplicação para celular que deverá ser capaz de indicar, em fotografias de uma determinada localidade, a partir da visão frontal do veículo, regiões onde se encontram as vagas informadas pelo sistema. Uma base de vídeos de situações típicas previstas nos requisitos do projeto foi construída visando a viabilização de treinamento do algoritmo de detecção de vagas. Tendo em vista o seguimento do que foi proposto durante o período da iniciação obedeceu-se o seguinte cronograma de atividades:

4 de 19

Page 6: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

● 2° Semestre de 2016:

○ fase de estudos do sistema de estacionamento proposto pela Cogneti-Tec;

○ reuniões para levantamento dos requisitos do projeto: definição do sistema operacional onde o app seria implementado, qual seria o modelo de celular para se projetar a interface e seus objetos, possíveis funcionalidades do app tendo em vista aplicativos já inseridos no mercado e design da interface para o que se utilizou como fonte de informação as tendências do mercado.

● Janeiro, 2017: Aprovação Bolsa CNPq PIBITI

● Janeiro e Fevereiro, 2017: Definição das funcionalidades do app e da interface com o usuário. Além disso, pesquisou-se sobre como implementar funções utilizando APIs (Application Programming Interface) Google em aplicativos Android. Iniciou-se também a pesquisa sobre RA.

● Março, 2017: Desenvolvimento das três partes básicas de RA: câmera, sensores e geolocalização.

● Abril, 2017: Design da interface e outros aspectos gráficos da RA. Decidiu-se e iniciou-se a implementação dos objetos 2D da RA.

● Maio, 2017: Término da primeira versão da aplicação e início da validação e avaliação dos casos de uso.

● Junho, 2017: Integração da aplicação de RA com os outros recursos do aplicativo. Ajustes após avaliações dos casos de uso. Inscrição do trabalho no “Prêmio Inova Unicamp de Iniciação à Inovação”.

● Julho, 2017: Testes finais da aplicação, foram ainda recolhidos os resultados do aplicativo em funcionamento para confecção do relatório após tanto iniciou-se a confecção do relatório.

● Agosto, 2017: Confecção do relatório final PIBITI.

Na seção Resultados e discussão está descrito o desenvolvimento do app, que é o principal resultado deste projeto.

Resultados e Discussão

Levantamento de aplicativos e sistemas de auxílio a estacionamento

Nesta seção foram levantados alguns aplicativos que são base para a aplicação desenvolvida. É dado foco nesta seção para as seguintes características dos aplicativos: ano, compatibilidade, uso de imagens reais, se é cooperativo entre usuários, uso de

5 de 19

Page 7: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

provedores de serviços auxiliares (GPS, Google Maps, Widgtes e similares), para quais plataformas o aplicativo está disponível, funcionalidades, se é necessário algum tipo de cadastro e tipos de vagas contempladas pelo aplicativo (ruas, garagens, estacionamentos, casas).

A Tabela 1 apresenta alguns parâmetros relevantes considerados durante a análise.

Nome Ano Compatibilidade

Provedores auxiliares

(GPS, Google Maps, etc.)

Plataformas (iOS ou

Android)

Cadastro (motoristas e provedores de vagas)

Cooperativo Vagas localizadas em

ParkBud 2011 iOS 5.1 ou superior Sim iOS Sim Sim Garagens e

estacionamentos

ParkMe 2011 iOS 8.2 ou

superior e 4.03 ou superior

Sim ambos Sim Sim Garagens,

estacionamentos e ruas

SpotHero 2012 iOS 8.0 ou

superior e 4.4 ou superior

Sim ambos Sim Sim Garagens,

estacionamentos e ruas

OndeParar 2013 iOS 7.0 ou

superior e 4.1 ou superior

Sim ambos Sim Sim Garagens e estacionamentos

BestParking 2012

iOS 8.0 ou superior; varia de

acordo com o aparelho

Sim ambos Sim Sim Garagens e estacionamentos

Tabela 1: Tabela com os aplicativos de estacionamento mais importantes do mercado

Esta tabela foi elaborada para filtrar informações que são de grande importância para um app para estacionar. Aqui se procurou saber (colunas da tabela): identificação do app, há quanto tempo o app está no mercado, com quais sistemas o app tem compatibilidade e em quais é possível sua instalação, quais são as fontes de informação, para quais sistemas é oferecido o executável para download, se o sistema exige o cadastro de motoristas e/ou provedores de vagas (donos de estacionamento, fiscais de parquímetro etc.), se é cooperativo, ou seja, se os usuários contribuem com informações em tempo real para que se encontre, por exemplo, vagas livres mais facilmente e, finalmente, onde as vagas do sistema se encontram. Nenhum dos aplicativos apresentou nenhuma interface com recursos de RA. Isso reforça que o uso dela é uma característica inovadora e por esse motivo se investiu no seu desenvolvimento.

As diferenças e similaridade tabeladas acima levaram ao formato de protótipo desejado. A partir da análise dos sistemas estudados, verificou-se que a primeira plataforma possível para programação do aplicativo são os dispositivos Android que são programados em Java utilizando os chamados pacotes SDK (Software Development Kit). Java é linguagem de programação mais acessível, código aberto e oferece grande quantidade em informações disponíveis em grupos e fóruns. No caso do Android, há ainda uma grande variedade em tamanhos de telas possíveis (mais de 20).

6 de 19

Page 8: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Figura 2: Tamanhos de celular possíveis para sistema Android. Fonte: Mirko Jurić-Kavelj. Is your Android emulator just too slow?. Disponível em:<

https://infinum.co/the-capsized-eight/author/mirko-juric-kavelj> Acessado em: 26/07/2017.

A segunda plataforma possível seria o iOS para dispositivos Apple que necessitam de uma máquina Apple para sua programação. A linguagem de programação é Objective-C. Programação para iOS apresenta a dificuldade de ser feita apenas em dispositivos Apple. Em relação a telas e resoluções existem padrões pré-definidos, em menor número que os disponíveis para Android.

Há diferenças na programação que implicam em vantagens e desvantagens de acordo com a plataforma escolhida. De forma mais aprofundada, existem diferentes possibilidades e recursos disponíveis tendo vista os seguintes programáveis: busca através de texto; reconhecimento e comandos de voz; páginas; interação com outros aplicativos.

Levantamento de tecnologias automotivas

Sabendo-se que este aplicativo atenderá motoristas, inovações nesta direção na indústria automotiva são importantes de serem conhecidas. A tecnologia de dispositivos infotainment (termo obtido a partir das palavras informar+entreter) implantada em veículos com sistemas operacionais e embarcados, tais como QNX e Microsoft Embedded Windows, tem muito a ver com o que tratamos aqui. Alguns carros já possuem esses sistemas embarcados que oferecem a mesma experiência ao motorista que o smartphone a seus usuários. Existe também a possibilidade de embarcar o sistema do celular no veículo. Para efeitos de desenvolvimento, a abordagem muda. Quando podemos embarcar o sistema do celular conectando um cabo USB, a programação de apps é a convencional. Visando suprir as necessidades do sistema operacional do celular, essa projeção dos recursos do celular no sistema do carro é executada pelo hardware do carro. Agora, quando tratamos de QNX ou Microsoft Embedded Windows ou outro sistema embarcado no carro que é capaz de utilizar

7 de 19

Page 9: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

aplicativos sem conexão com o celular, a implementação é realizada especificamente para esse sistema.

Definição de especificações

As pesquisas realizadas abordaram tanto a parte técnica quanto a parte mercadológica de aplicações para smartphones, especificando algumas atribuições que o proposto programa deveria apresentar como funcionalidade. Numa perspectiva de mercado, desejou-se como funcionalidades para o aplicativo: 1) encontrar vagas para estacionar nas proximidades do motorista; 2) verificar o tempo no qual o motorista está fora do veículo; 3) indicar trajeto até a vaga e marcar onde o carro foi estacionado e; 4) indicar retorno ao veículo através de RA. Destas funcionalidades 1 e 3 foram implementadas de forma bem-sucedida, 2 e 4 farão parte de trabalhos futuros.

A programação foi feita para dispositivos Android. A grande disseminação de dispositivos Android e a vasta documentação de suporte ao desenvolvimento de aplicativos para esta plataforma, foram determinantes para esta escolha. Posteriormente, planeja-se desenvolver versões do app para outras plataformas também: iOS e Windows Phone.

Decidiu-se por fazer como primeiro protótipo do programa um que apresente resolução 2560X1440 e tamanho de tela de 5.5” o que resulta em aproximadamente 538 ppi de densidade, sendo esta uma boa densidade de imagem. O Samsung Galaxy S7 Edge também tem essas características de tela.

O esboço abaixo apresenta uma das primeiras prévias de design do protótipo na situação que o aparelho era rotacionado.

Figura 3: Esboço da tela ao e girar o celular.

Estratégia de localização

A estratégia adotada de localização pelo protótipo foi baseada em serviços de localização integrantes entre o próprio app, GPS e mapas. Existem funções pré-programadas para dispositivos Android que permitiram essa integração.

8 de 19

Page 10: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Confecção do app

Depois de toda a pesquisa sobre confecção de aplicativos e RA surgiram como primeiras iniciativas de desenvolvimento duas possibilidade de implementação. A primeira estratégia testada foi utilizar a IDE (Integrated Development Enviroment) Unity3D, que oferece diversos recursos em RA e Realidade Virtual. A segunda estratégia foi utilizar a IDE Android Studio. A ferramenta Unity3D é uma das mais difundidas entre os desenvolvedores, justamente pelos recursos que oferece, além da disponibilização de diversos tutoriais relacionados a RA e aplicações tais como objetos virtuais em 3D e 2D disponibilizados em suas lojas virtuais na internet. Devido a isso, a IDE Unity3D se apresentou como uma alternativa mais atraente para executar os conceitos aprendidos de RA.

Figura 4: Interface de desenvolvimento Unity3D Fonte: LAPIX. Computação Gráfica: Instalando Unity3D em Linux. Disponível em:

<http://www.lapix.ufsc.br/ensino/computacao-grafica/computacao-graficapaginas-de-suporte-e-tutoriais/computacao-graficainstalando-unity3d-em-linux> Acessado em: 24/07/2017

Os primeiros exercícios tiveram como propósito solidificar, de forma prática, o conceito de RA. Para isso, utilizava-se um marker para projetar o objeto 3D na tela do celular. Este marker é uma imagem impressa ou objeto, que serve para mapear como a imagem aparecerá na tela, cobrindo todas as possíveis mudanças: profundidade, ângulo, luminosidade, tamanho, posição, perspectiva, etc. Embora a IDE oferecesse todos esses recursos, houve uma limitação técnica que impossibilitou o desenvolvimento da aplicação final através dela. A IDE Unity3D tem como principais linguagens de script C# e JavaScript. Porém, o protótipo final desejado foi embarcado num celular de sistema operacional Android, onde os aplicativos são programados em Java. A incompatibilidade para gerar uma aplicação feita nas duas linguagens, C# e Java, através da estratégia de API e a própria

9 de 19

Page 11: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

embarcação de um app programado em C# num sistema Android, impossibilitaram o seguimento do trabalho por esta alternativa. Optou-se então pelo desenvolvimento do aplicativo através abordagem mencionada. A programação ocorreu toda na IDE Android Studio, que é a principal para aplicativos em Android. No caso deste aplicativo, não se utilizou nenhum marker para proporcionar as mesmas noções de mudança de estado do objeto inserido num ambiente. O GPS do celular e outros sensores foram as fontes de informação. Este tipo de aplicações em RA necessitam tipicamente de três implementações básicas: câmera, sensores e geolocalização.

Princípio de funcionamento do aplicativo

O protótipo compõe um aplicativo para sistema Android que indica localização de vagas livres. Após o usuário se cadastrar no sistema as vagas são mostradas para o usuário numa interface inicial que é um mapa disponibilizado pela Google Maps. O aplicativo verifica a posição do celular no momento da execução e o posiciona no mapa. A operação de procura de vagas tem como base um raio de busca, representado graficamente pelo círculo translúcido azul sobre o mapa (vide Figura 5). Todas as vagas livres são mostradas dentro do alcance do raio. O raio pode ser ajustado nesse aplicativo de 0 a 800 metros. Serão mostradas então todas as vagas livres que estão cobertas pelo raio de alcance. O usuário deve então clicar na vaga desejada e assim seguir até ela. Neste momento, o custo de estacionar na vaga selecionada surgirá na forma de um balão. Ao clicar no balão, o aplicativo transiciona para o modo RA. Nos últimos 20 metros até a vaga, o aplicativo projetará os objetos na tela da câmera usando como principal base de informação os dados do GPS do smartphone.

10 de 19

Page 12: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Figura 5: Screenshot do aplicativo em busca de vaga sobre mapa da Google Maps.

O último modelo de software desenvolvido usa uma escala de 0 a 20 metros, a distância na qual a aplicação de RA foi programada. Esta escala funciona da seguinte forma: enquanto o carro se aproxima da vaga desejada, a distância faltante, em metros, é destacada com aumento do tamanho da fonte e mudança de cor de cinza para vermelho. Além desta escala em metros, uma seta que indica qual o lado da rua deve-se estacionar é mostrada (este recurso é bastante útil quando se está numa rua onde se pode estacionar em ambos os lados). O trabalho conjunto destes dois indicadores oferece ao usuário a informação necessária para que ele estacione no local pré-selecionado. Em relação à indicação da direção existem quatro possibilidades para a flecha apresentada: flecha que indica para a direita, que surge na tela quando a vaga está posicionada à direita da rua; flecha que indica para a esquerda, que surge na tela quando a vaga está posicionada à esquerda da rua; flecha que indica para a esquerda e “Retorne” (que surge na tela quando a vaga está posicionada à esquerda da rua e o motorista passou por ela); e flecha que indica direita e “Retorne” (que surge na tela quando a vaga está posicionada a direita da rua e o motorista passou por ela). Tanto flecha quanto escala têm seus estados modificados em tempo real de acordo com a mudança da posição atual. A Figura 6 apresenta um exemplo onde a vaga

11 de 19

Page 13: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

está localizada à esquerda no momento que o veículo acaba de ultrapassá-la, indicando que será necessário retornar.

Figura 6: Screenshot de aplicativo com RA operando.

É importante também destacar qual é a relação das coordenadas de latitude, longitude e altura entregues pelo GPS do celular com as noções de mudança de estado do objeto. Em relação à distância, foi programado um método capaz de calcular a distância em tempo real entre a vaga, que é um ponto fixo e não se altera, e o celular, que muda de posição junto com o carro em movimento. Em relação ao lado da rua no qual o carro deve estacionar, a aplicação do conceito de relative bearing foi fundamental.

12 de 19

Page 14: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Figura 7: Representação gráfica do conceito de Relative bearing.

Na Figura 7, o bearing é o ângulo entre a distância carro-vaga e carro-Norte geográfico. No caso do programa desenvolvido, relative bearing é o ângulo que se atribui entre a vaga e a direção que o carro segue. Além disso, o relative bearing possibilita determinar, em qual quadrante, inferior ou superior, o ângulo se situa, sendo possível verificar se o carro ultrapassou a vaga e orientá-lo para que retorne. A aplicação utiliza um método adaptado, que não necessitou do referencial do norte geográfico verdadeiro.

Um adendo extremamente importante: para que a aplicação fizesse sentido visualmente e por motivos de segurança ao motorista na direção, é recomendado que o celular seja fixado firmemente no no meio do vidro pára-brisas. Nesta posição, a câmera do celular está com a visão centralizada do trajeto proporcionando uma visão ampla do que acontece na via onde se circula.

Limitações devido ao sinal de GPS

Um problema recorrente observado nos testes após o término de todo o desenvolvimento estava relacionado ao sinal de GPS do celular. Em nenhuma ocasião foi recolhida informação totalmente correta do aparelho no cálculo da distância, em relação à sua magnitude, nem com o veículo parado nem em ele estando em movimento. A imprecisão variou de 12 a 2 metros de acordo com a velocidade do carro e a posição da vaga desejada.

Reconhecimento de Imagem como alternativa

Visando contornar o problema relacionado às limitações encontradas devido à imprecisão inerente do sistema GPS, outra funcionalidade imaginada para este trabalho foi a complementação da localização por GPS com algoritmos inteligentes capazes de detectar vagas livres por meio da análise de imagens capturadas pela câmera do celular no momento em que o carro se aproxima da vaga.

Tal funcionalidade proporcionaria uma fonte de informação adicional que poderia pode ser usada tanto para encontrar a vaga, quanto para indicar o trajeto até a vaga desejada. Para tanto, foram recolhidas através de foto e vídeo um total de 27 amostras de diversas

13 de 19

Page 15: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

situações de estacionamento, que foram catalogadas de acordo com algumas características de distinção. As figuras 8, 9 e 10, são exemplos de imagens capturadas. Dentre as características escolhidas, duas são relacionadas ao tipo de imagem de estacionamento sobre as que se trabalhou majoritariamente neste projeto, que é a orientação da vaga em relação à via (0º, 45º ou 90º) e o local (estacionamento fechado ou rua). O aplicativo desenvolvido cobre situações onde o carro deve estacionar na rua e as vagas possuem orientação de 45º ou 90º.

O procedimento usual conhecido como aprendizagem de máquina consiste treinar um modelo que identifica padrões desejados nas imagens a ele submetidas e após tanto transferir este modelo para um aplicativo de celular. Existem alguns códigos abertos capazes de realizar reconhecimento de imagens em diversos contextos. Em se tratando de aplicação para celular para estacionamento, a mudança de abordagem deste trabalho vem em relação ao posicionamento da câmera ao capturar as imagens, que são realizadas frontalmente da perspectiva do automóvel.

Estas imagens servem numa instância subsequente do trabalho para desenvolver um aplicativo híbrido, capaz de indicar o estado de uma vaga e o trajeto, usando como fonte de informação não só as coordenadas geográficas do GPS e sensores, mas também as imagens capturadas pela câmera do celular.

14 de 19

Page 16: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

A melhoria dos resultados de localização do sistema por meio do apoio de análise de imagens capturadas pelo celular não foi implementada e ainda está em fase de estudos. A base com as imagens capturadas para o treinamento dos algoritmos de treinamento revelou uma grande diversidade de situações que dificultam a implementação de uma abordagem única na detecção das vagas. Verificou-se que serão necessários vários passos de processamento e estratégias de uniformização dos dados para que possamos obter algum tipo de sucesso nesta empreitada.

Feedback de usuários

Como se trata de um protótipo de um produto considerou-se fundamental a coleta de feedback de usuários não envolvidos no desenvolvimento. Foi elaborado um questionário com as seguintes perguntas para avaliar a experiência de utilização do app:

● A interface apresenta linguagem simples? ● É necessário uso de memorização para acessar recursos do aplicativo? ● As mensagens são construtivas? ● As saídas são claras e simples? ● A comunicação visual e eficiente de forma geral? ● O tamanho das telas e fontes é bom o suficiente para entender os textos? ● A aplicação é funcionalmente animada? ● As transições entre os blocos do programa são atrativas e funcionais? ● Os atalhos são eficientes? ● Que melhorias a aplicação de RA está sujeita? ● O mecanismo de busca é eficiente? ● Cabe uso de reconhecimento de imagem neste aplicativo?

O aplicativo foi avaliado por três usuários e a partir de seus comentários foi possível compilar um conjunto de melhorias a serem implementadas.

De maneira geral, os usuários observaram que alteração de configurações, tais como o ajuste do tamanho do raio de vagas, deveriam ser facilitadas, evitando que o motorista retire o foco da direção. Em relação às funções do aplicativo, os usuários ficaram satisfeitos durante o uso. Para eles, os propósitos do app são atendidos. A régua como indicação de distância é um objeto que para eles deve ser repensado. Ela não oferece a noção de distância de forma apropriada para quem dirige. Como sugestão, uma indicação de distância junto a seta de direção, tendo ainda o tamanho das fontes maior, proporcionaria, segundo os usuários, uma visão melhor e não distrairia tanto. As telas têm boa dimensão e não necessitam de alterações. O uso de reconhecimento de imagens foi considerado uma excelente ferramenta para sobrepor a má resolução do sinal GPS. Neste caso, uma aplicação capaz de, não só, identificar a vaga mas, também, a via onde o veículo circula, mensurando a distância do carro à vaga, é uma possível solução para esse problema. Outra sugestão foi o uso de comando de voz, para que o motorista não precise retirar as mãos do volante.

15 de 19

Page 17: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Conclusão A condução do presente projeto e o feedback inicial de poucos usuários mostrou a real possibilidade de utilização de RA em aplicações para estacionamento. A iniciativa de desenvolvimento de sistemas deste tipo se justifica não apenas pelo fato da experiência proporcionada ser interessante mas, principalmente, porque ela é capaz de prover pistas visuais importantes quando o motorista tem dificuldades de encontrar a vaga desejada. Após a implementação do primeiro protótipo, tal como descrito no presente relatório, verificou-se várias oportunidade de melhoria que potencialmente resultarão numa melhor experiência para os usuários.

Em particular, a continuidade deste projeto deve contemplar a análise das seguintes possíveis melhorias:

● o desenvolvimento de uma aplicação híbrida capaz de unir as vagas livres do banco de dados no servidor e reconhecimento de imagens de vagas livres.

● modificação do modelo de indicação de distância, utilizando objeto 3D ou 2D;

● atualização contínua das bibliotecas e SDK’s, uma vez que esta tecnologia se encontra em franco desenvolvimento;

● implementação de indicação sonora e comando de voz;

● integração com outros sensores do celular, tais como acelerômetro e barômetro, para que não ocorra dependência exclusiva dos dados do GPS;

● investigação de estratégias para melhoria da precisão de localização a partir de informações fornecidas pelo sistema GPS;

● indicação de trajeto indicado também por RA.

É importante destacar o caráter inovador deste trabalho, uma vez que aplicativos capazes de realizar as aspirações deste projeto ainda são inexistentes no mercado. O app desenvolvido pode ser considerado pioneiro no contexto de aplicativos para estacionamento, uma vez que nosso estudo mostrou que a RA não foi previamente implementada em nenhum outro aplicativo deste tipo.

Por este motivo, considera-se viável que futuros desdobramentos do projeto também possibilitem o depósito de patentes.

16 de 19

Page 18: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

Referências

[1] Azo Sensors. Streetline launches sensor-based smart parking program. Acessado em: 23/01/2016. [2] Rodney K Blank, Ken L Schierbeek, and Jerry L Beck. Vehicle information display, November 19 1996. US Patent 5,576,687. [3] S. Funck, N. Mohler, and W. Oertel. Determining car-park occupancy from single images. In Intelligent Vehicles Symposium, 2004 IEEE, pages 325–328, June 2004. [4] Mundo VIP Bahia. Ssa shopping implanta estacionamento inteligente. Acessado em 23/01/2016. [5] A. Mwebaze. The Design of an Intelligent Parking System Using Wireless Sensor Networks and Multi-protocol Label Switching. University of Cape Town, 2009.

[6] O VALE. Shopping investe para criar estacionamento inteligente. Acessado em 23/01/2016. [7] H. Schneiderman and T. Kanade. A statistical method for 3d object detection applied to faces and cars. In Computer Vision and Pattern Recognition, 2000. Proceedings. IEEE Conference on, volume 1, pages 746–751 vol.1, 2000. [8] Qi Wu, Chingchun Huang, Shih-yu Wang, Wei-chen Chiu, and Tsuhan Chen. Robust parking space detection considering inter-space correlation. In Multimedia and Expo, 2007 IEEE International Conference on, pages 659–662. IEEE, 2007. [9] Qi Wu and Yi Zhang. Parking lots space detection. Machine Learning, Fall, 2006. 6 [10] Alexander Salas, CPLP. Augmented Reality: From Concept To Execution. Disponível em: <https://elearningindustry.com/augmented-reality-concept-execution> Acessado em: 26/07/2016.

[11] Jair Chen and Wen-Hsiang Tsai. Automatic guidance for indoor car parking using augmented reality and omni-vision techniques.

[12] Location and Maps. Disponível em: <https://developer.android.com/guide/topics/location/index.html> Acessado em: 26/07/2016.

[13] GPS Mobile Solutions. Disponível em: <http://www.gpsmobilesolutions.com/software-integration.php> Acessado em: 26/07/2016.

[14] The Ultimate Guide To iPhone Resolutions. Disponível em: <https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions> Acessado em: 26/07/2016.

17 de 19

Page 19: Localização de Vagas de Estacionamento em …paula/pdf/2017_08_RelatorioFinal_PIBITI... · Resumo Motoristas de áreas densamente populadas gastam um tempo significativo buscando

[15] Tuan Huynh. The Ultimate Guide To iPhone Resolutions. Acessado em: 26/07/2016

[16] Pawel Piejko. Most popular smartphone screen resolutions in 2015. Acessado em: 26/07/2016.

[17] Egil Juliussen. Software platforms: A crucial infotainment battleground. Acessado em: 26/07/2016

[18] The Engine behind the Connected Car. Disponível em: <http://www.qnx.com/content/qnx/en/solutions/industries/automotive/index.html>. Acessado em: 26/07/2016

[19] Krzysztof Jackowski. Augmented Reality in Mobile Devices. Acessado em: 26/07/2016.

18 de 19