UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE
U NIVERSIDADE F EDERAL DO R IO G RANDE DO N ORTE
C ENTRO DE T ECNOLOGIA
P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA E
DA C OMPUTAÇÃO
Uma aplicação do algoritmo QT clustering para
marcação colaborativa de pontos perigosos em
vias públicas
Adelson Luiz de Lima
Orientador: Prof. Dr. Agostinho de Medeiros Brito Júnior
Dissertação de Mestrado apresentada ao
Programa de Pós-Graduação em Engenharia
Elétrica e da Computação da UFRN como
parte dos requisitos para obtenção do título
de Mestre em Ciências.
Número de ordem PPgEE: M000
Natal, RN, novembro de 2012
Divisão de Serviços Técnicos
Catalogação da publicação na fonte. UFRN / Biblioteca Central Zila Mamede
Lima, Adelson Luiz de.
Uma aplicação do algoritmo QT clustering para marcação colaborativa de
pontos perigosos em vias públicas, Dissertações e Teses no Programa de PósGraduação em Engenharia Elétrica e da Computação da UFRN / Adelson Luiz
de Lima - Natal, RN, 2011
50 p.
Orientador: Agostinho de Medeiros Brito Júnior
Dissertação (mestrado) - Universidade Federal do Rio Grande do Norte. Centro de Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica e da
Computação.
1. Redação técnica - Dissertação. 2. LATEX- Dissertação. I. Brito Júnior,
Agostinho de Medeiros. II. Uma aplicação do algoritmo QT clustering para
marcação colaborativa de pontos perigosos em vias públicas.
RN/UF/BCZM
CDU 004.932(043.2)
Uma aplicação do algoritmo QT clustering para
marcação colaborativa de pontos perigosos em
vias públicas
Adelson Luiz de Lima
Dissertação de Mestrado aprovada em 29 de junho de 2012 pela banca examinadora composta pelos seguintes membros:
Prof. Dr. Agostinho de Medeiros Brito Júnior (orientador) . . . . . . . DCA/UFRN
Prof. Dr. Allan de Medeiros Martins . . . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFFN
Prof. Dr. Paulo Sergio da Motta Pires . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN
À minha família, pelo apoio e
coragem...
Agradecimentos
Ao meu orientador, professor Agostinho, sou grato pela orientação.
Ao professor Paulo Motta, pelos valiosos comentários que enriqueceram meu trabalho.
Aos meus colegas de pós-graduação, pelas críticas, sugestões e apoio.
À minha família pelo apoio durante esta jornada.
À CAPES, pelo apoio financeiro.
Resumo
O trabalho propõe um sistema colaborativo para marcação de pontos perigosos em
vias de transporte e geração de alertas para motoristas. Ele consistirá de um sistema de
alerta de proximidade de um ponto de perigo, que será alimentado pelos próprios motoristas através de um aparelho móvel equipado com GPS. O sistema deverá consolidar dados
fornecidos por vários motoristas diferentes e gerar um conjunto de pontos comum a ser
usado no sistema de alerta. Embora a aplicação seja destinada à proteção de motoristas, os
dados gerados por ela poderão servir de insumos para os órgãos responsáveis melhorarem
a sinalização e recuperação de vias públicas.
Palavras-chave: Prevenção de acidentes de trânsito, sistema de alerta, sistemas colaborativo, aglomeração de dados, sistemas de informação geográfica.
Abstract
This work proposes a collaborative system for marking dangerous points in the transport routes and generation of alerts to drivers. It consisted of a proximity warning system
for a danger point that is fed by the driver via a mobile device equipped with GPS. The
system will consolidate data provided by several different drivers and generate a set of
points common to be used in the warning system. Although the application is designed to
protect drivers, the data generated by it can serve as inputs for the responsible to improve
signage and recovery of public roads.
Keywords: Prevention of traffic accidents, warning systems, collaborative systems,
data clustering, geographic information systems.
Sumário
Sumário
i
Lista de Figuras
iii
1
Introdução
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
3
4
2
Sistemas de Informação Geográfica
2.1 Foursquare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 WAZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 WikiMapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Wikimapia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Comob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Avaliação das ferramentas pesquisadas no escopo do trabalho proposto
.
.
.
.
.
.
5
6
7
7
8
9
9
3
Aglomeração de dados
3.1 QT clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
13
4
Trabalho proposto
4.1 Funcionamento do sistema . . . .
4.2 Marcação de pontos . . . . . . . .
4.3 Processamentos dos dados . . . .
4.4 Remoção de pontos . . . . . . . .
4.5 Alertas de perigo . . . . . . . . .
4.6 Interface desktop . . . . . . . . .
4.7 Sincronização e expurgo de dados
4.8 Modelo do sistema . . . . . . . .
16
16
17
20
21
22
23
24
25
5
Resultados
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
26
i
6
Considerações finais
31
7
Agradecimentos
33
Referências bibliográficas
33
Lista de Figuras
4.1
4.2
4.3
4.4
5.1
5.2
5.3
Arquitetura do sistema proposto para marcação e aglomeração de pontos.
Interface de usuário para dispositivo móvel. . . . . . . . . . . . . . . . .
Exemplo de nuvens formada pela marcação de vários motoristas com seu
ponto representativo e os diferentes tipos de nuvens com pontos de perigo
que podem ser marcados nos cursos das vias. . . . . . . . . . . . . . . .
Protótipo da interface desktop para visualização de centros usando os recursos do Google Maps. . . . . . . . . . . . . . . . . . . . . . . . . . .
17
18
Experimento em zona urbana. . . . . . . . . . . . . . . . . . . . . . . .
Experimento em zona rural. . . . . . . . . . . . . . . . . . . . . . . . . .
Experimento em zona urbana - marcação de falhas nas Avenidas Salgado
Filho e Hermes da Fonseca. . . . . . . . . . . . . . . . . . . . . . . . . .
28
29
iii
20
23
30
Capítulo 1
Introdução
A imperícia e a imprudência no trânsito são, sem dúvida, os principais responsáveis
pela grande maioria dos acidentes nas estradas brasileiras. De fato, a má formação de
condutores para o trânsito brasileiro, junto com a dificuldade de fiscalização e aplicação
de penas mais severas aos infratores, contribui para o estado em que se encontra o trânsito
no nosso país.
É inegável a contribuição da formação humana para a quantidade, a gravidade e o tipo
dos acidentes presentes nas estatísticas oficiais do DNIT - Departamento Nacional de Infraestrutura de Transporte [DNIT 2011]. Entretanto, boa parcela dos acidentes de trânsito
no Brasil são provocados por falhas nas vias de transporte estaduais e federais, sejam essas falhas buracos, ondulações, pavimentos irregulares, valetas, inclinações, depressões,
lombadas e curvaturas mal planejadas. As próprias estatísticas do DNIT relatam que, em
2010, haviam aproximadamente 3.000Km de vias no país que concentravam acidentes.
Informações fornecidas pela Polícia Rodoviária Federal demonstram que, embora reduzidos, acidentes por defeito nas vias ainda são comuns. Os dados fornecidos são apresentados na Tabela 1.11 .
Ano do Acidente
2007
2008
2009
2010
Total geral
Quantidade. de Acidentes
2349
2191
2611
2413
9564
% do total de acidentes
1,83%
1,55%
1,65%
1,32%
1,56%
Tabela 1.1: Estatísticas de acidentes causados por falhas em vias públicas.
Danos físicos e até mortes são consequências comuns em acidentes causados por falhas nas vias, principalmente relacionado a veículos com duas rodas. Ainda, os danos
1 informações
gentilmente cedidas pela Polícia Rodoviária Federal
CAPÍTULO 1. INTRODUÇÃO
2
não se resumem apenas em prejuízo à integridade física dos motoristas e passageiros.
Grande prejuízos financeiro são agregados frequentemente a essas falhas, sejam eles representados por gastos com manutenções ou reparos causados por tais problemas. Dada
a quantidade de impostos pagos pelos contribuintes para criação e manutenção de vias,
geralmente entende-se de responsabilidade do estado os prejuízos causados aos veículos
e passageiros pela má conservação, má sinalização ou má manutenção das vias públicas.
Um caso exemplar de grande prejuízo pode-se imaginar no meio das empresas transportadoras de cargas. A perda da carga no caso de um tombamento ocasionado por uma
falha nas rodovias não só representa o prejuízo, mas também danos ao veículo e atraso
ocasionado pelo reenvio da carga. Em outras palavras, o prejuízo direto será não somente
para a empresa transportadora mas também para a sua contratante.
Embora investimentos públicos sejam feitos constantemente para melhorar a qualidade das estradas brasileiras, a presença de pontos perigosos são inevitáveis. As origens
geralmente são advindas do desgaste natural pelo uso constante, relevo e topologia, e a
própria intempéries da natureza.
diversas soluções comerciais que já são capazes de orientar motoristas no trânsito, que
são os tradicionais sistemas guiados por GPS (Global Positioning System). Alguns deles,
por exemplo, oferecem alertas de proximidade para radares de velocidade, permitindo que
o motorista fique atento aos limites de velocidade e, é claro, às multas impostas pela transgressão destes limites. A eficiência destas soluções dependem do esforço das empresas
em manter sempre atualizados seus bancos de dados e nos mecanismos de repasse destes
dados aos proprietários dos sistemas de navegação. Apesar do sucesso destas ferramentas, nota-se a carência de uma funcionalidade simples que permita aos próprios motoristas
ajudarem uns aos outros a se proteger de falhas e pontos perigosos nas vias públicas, principalmente durante períodos noturnos, quando a visibilidade da via diminui.
É nesse contexto que o presente trabalho é inserido, oferecendo uma forma de atenuar
os problemas decorrentes dos danos causados pelas falhas e pontos perigosos presentes
nas vias de transporte. O trabalho propõe um sistema que alerta aos motoristas da proximidade de algum ponto de perigo, permitindo a tomada de decisões capazes de evitar
danos à saúde ou ao patrimônio.
O sistema proposto consistirá de um programa para dispositivos móveis que poderá ser
instalado em celulares do tipo smartphones equipados com GPS. O sistema será dotado de
uma interface bastante simples, com botões para propor a inserção e remoção de pontos
perigosos, além de exibir alertas visuais e sonoros aos seus usuários. A proposta da implementação em smartphones alia conveniência e custo, haja vista o barateamento de tais
dispositivos no mercado, o uso cada vez mais presente destes dispositivos como meio de
CAPÍTULO 1. INTRODUÇÃO
3
comunicação e a presença de módulos GPS em grande parte deles. Neste contexto, a ferramenta proposta seria apenas mais um aplicativo a ser inserido no smartphone, tornando
os custos da solução bastante reduzidos.
Para que o sistema alerte ao usuário da proximidade de um ponto de perigo é preciso
saber a localização deste ponto. Para isto, os usuários do sistema ao trafegarem pelas
vias e identificarem esses pontos contribuirão com o sistema marcando-os na ferramenta
interativa, para que a coordenada geográfica desse ponto seja transmitida ao servidor para
um futuro processamento.
A fusão das informações fornecidas pelos usuários deverá ser feita através de um
servidor central que coletará, através da Internet, os pontos marcados pelos usuários da
ferramenta e realizará a consolidação destes dados através da catalogação de aglomerados
de pontos sugeridos para trechos comuns. O servidor processará os pontos oferecidos pelos motoristas utilizando algoritmos inteligentes, repassando as informações consolidadas
aos módulos dos smartphones, por requisição dos próprios usuários.
Os dados gerados pelo sistema serão integrados com o sistema de informações geográficas Google maps (http://maps.google.com), acessível através da internet, que
mostrará a localização dos pontos de perigo e poderá disponibilizar estatísticas para que
usuários e governantes possam utilizá-lo de forma a visualizar e colaborar na prevenção
de acidentes. Ainda, a base de dados do sistema poderão servir de insumo para integração
em sistemas de navegação que permitam traçados de rotas mais seguras, evitando assim
possíveis danos ao motorista e ao seu veículo.
1.1
Objetivos
O objetivo geral do trabalho é desenvolver um sistema de alerta que ajude aos motoristas de transportes automotivos a ficarem atentos a falhas nas vias de transporte ou trechos
perigosos, ajudando a evitar acidentes e prejuízos materiais. Sua principal contribuição é
oferecer uma ferramenta voltada especificamente para a realidade brasileira, preenchendo
uma lacuna deixada pela maioria das ferramentas comerciais encontradas.
1.1.1
Objetivos Específicos
Os objetivos específicos do presente trabalho de pesquisa consistem em:
• Fazer uma revisão dos trabalhos existentes que utilizam SIG;
• Realizar estudos sobre algoritmos de aglomeração de dados (clustering);
CAPÍTULO 1. INTRODUÇÃO
4
• Elicitar os requisitos do sistema a ser desenvolvido;
• Modelar a arquitetura do sistema;
• Implementar protótipo de ferramenta para funcionamento em algum modelo de
smartphone;
• Propor uma mecanismo de coleta, distribuição e processamento de dados de usuários;
• Validar o sistema proposto.
1.2
Organização do texto
Este trabalho encontra-se divido da seguinte forma. O Capítulo 2 descreve a ideia
geral do trabalho que se propõe desenvolver no contexto de aplicações correlatas existentes. O Capítulo 3 oferece uma visão geral de algoritmos de aglomeração de dados,
fundamentando a escolha do algoritmo de aglomeração proposto para uso no processamento dos dados fornecidos pelos usuários. O Capítulo 4 descreve o sistema proposto,
seu funcionamento e sua arquitetura. O Capítulo 5 mostra alguns resultados obtidos com
pontos coletados em zonas urbanas e rurais. O Capítulo 6 finaliza o trabalho apresentando algumas considerações acerca do desenvolvimento e traça proposta de tarefas futuras agregadas à temática apresentada.
Capítulo 2
Sistemas de Informação Geográfica
Sistemas de Informação Geográfica (SIG) são ferramentas que permitem sobrepor informações espaciais (geográficas) com vários outros tipos de informações [Clarke 1986].
A sobreposição permite cruzar informações respeitando uma determinada localização geográfica. Deste modo, é possível construir mapas onde aparecem informações úteis para
analisar diversos fenômenos. Esse cruzamento de informações possibilita vários estudos
de análise espacial com base nos parâmetros presentes no SIG.
Devido às suas potencialidades, os SIGs são atualmente utilizados em diversas atividades profissionais, seja em planejamento, em investigação científica, em estudos de impacto ambiental ou compartilhamento de informações genéricas. Os SIGs permitem ainda
realizar diferentes operações de análise, como calcular distâncias, identificar os elementos
que se encontram em determinados locais, ou que tenham determinadas características.
Praticamente não há limitação acerca dos tipos de dados que podem ser utilizados
em um SIG. Embora originalmente tenham sido desenvolvidos para fins de exibição de
informações naturais como relevo, clima e vegetação, a tecnologia atual permite inserir
os mais variados tipos de dados em um SIG. Exemplos de informações presentes em
SIGs atuais incluem imagens, vídeos e pontos de referência. No presente trabalho, o SIG
funcionaria utilizando uma base de dados com as informações geográficas de pontos de
perigo que podem ser mostrados em um mapa digital como a plataforma Google maps.
Os modelos mais comuns em SIG são o raster (ou matricial) e o vetorial. O modelo de
SIG matricial utiliza um mapa de células de tamanho regular, geralmente quadradas, que
armazenam valores de informação para uma dada região do espaço real. Quanto maior
a dimensão da célula, menor é a quantidade de detalhes que se consegue representar no
espaço geográfico. Quanto menor o tamanho da célula, maior a quantidade de detalhes.
No caso do modelo de SIG vetorial, a representação é focada na precisão da localização
dos elementos no espaço. A ferramenta Google maps, por exemplo, apresenta uma mistura destes dois modelos. Em um mesmo mapa, é possível visualizar de forma superposta
CAPÍTULO 2. SISTEMAS DE INFORMAÇÃO GEOGRÁFICA
6
informações de terreno (modelo matricial com fotos de satélite) e desenhos com ruas,
avenidas e pontos de referência (modelo vetorial).
Os campos de aplicação dos Sistemas de Informação Geográfica, por serem muito
versáteis, são muito vastos, podendo-se utilizar na maioria das atividades com um componente espacial, da cartografia a estudos de impacto ambiental ou vigilância epidemiológica de doenças, de prospecção de recursos ao marketing, constituindo o que poderá
designar de Sistemas Espaciais de Apoio à Decisão.
Dada a versatilidade do georeferenciamento de informações, é possível encontrar aplicações dos mais variados tipos à disposição dos usuários. O foco inicial dos SIGs nas
áreas de cartografia e vigilância ambiental está migrando, atualmente, para as áreas de
interação social, disseminação dos mais variados tipos de informação e, notadamente,
comércio, propaganda e logística.
Além da disseminação dos SIGs no comércio, eles estão migrando cada vez mais
do uso em computadores pessoais (desktop) para o uso em dispositivos móveis. Neste
sentido, o mercado vem investindo de forma significativa, dado o potencial associado à
capacidade de geolocalização. Algumas aplicações SIG, como as que serão apresentadas
nas seções seguintes, embora conceitualmente simples, são notáveis em utilidade e funcionalidade, cada qual em sua área de interesse.
2.1
Foursquare
Foursquare é uma plataforma de localização móvel, uma rede social, e um micro blog,
baseada em geolocalização, que permite ao utilizador indicar onde se encontra e procurar
por contatos que estejam próximo desse local. [Foursquare 2011]. A aplicação móvel está
disponível para celulares, através de SMS, ou smartphones, com suporte à iOS, Android,
Windows Mobile, Blackberry e Symbian.
O serviço foursquare recolhe dados pessoais dos utilizadores e partilha-os com outros,
por iniciativa e consentimento do utilizador do serviço. O serviço é baseado na partilha
e comunicação da localização, por vontade própria dos seus utilizadores. Segundo informações da própria Foursquare, havia passado de 100 milhões a quantidade de atualizações
de dados em diferentes locais no mês de julho de 2010. A taxa de crescimento de entrada
de usuários vêm de 1 milhão de atualizações, no ano de 2010, para mais de 40 milhões
nos últimos dois meses de 2010.
A utilização do serviço se dá através de um dispositivo móvel, como celular ou smartphone. O usuário do serviço acessa o site, ativa seu perfil, identifica o local onde está via
CAPÍTULO 2. SISTEMAS DE INFORMAÇÃO GEOGRÁFICA
7
GPS, e informa a informação desejada já georeferenciada. O usuário pode ainda compartilhar sua localização com outras pessoas, via Facebook ou twitter.
2.2
WAZE
Geralmente chamado de GPS social, o Waze é um aplicativo que funciona em smartphones dotados dos sistemas operacionais Android, iOS (iPhone, iPad), Symbian e Windows Mobile. A proposta do sistema é permitir que usuários compartilhem em tempo
real informações de trânsito e tráfego, podendo evitar problemas comuns como acidentes,
engarrafamentos e blitz. [Waze 2010]
O funcionamento do sistema é bem simples. Quando o motorista entra no carro,
deverá ativar o aplicativo do waze em seu smartphone e deixá-lo em funcionamento.
Enquanto dirige, o aplicativo envia pela internet informações sobre a velocidade de seu
veículo e, também, coleta informações da internet acerca da velocidade da via e de outras subjacentes. Se a velocidade da via estiver baixa, o aplicativo marca a via em cores
vibrantes, sugerindo que outros usuários evitem a região.
Outra funcionalidade oferecida pela ferramenta é a comunicação de acidentes. Se o
motorista usuário do Waze estiver preso em um engarrafamento motivado por acidente,
ele pode, tirar uma foto do local e enviá-la através do programa. Os outros usuários da
rede, denominado “wazers”, receberão essa informação na hora e visualizarão a foto.
No Brasil, o serviço ainda é bem limitado, dada a pequena quantidade de usuários.
Como a base de dados é mantida por voluntários, ainda faltam mapas das ruas nas principais cidades. O serviço provido pela Waze, entretanto, é capaz de deduzir possíveis ruas,
melhorar a geometria de ruas existentes e corrigir sentido de ruas.
2.3
WikiMapa
O WikiMapa é um mapa virtual alimentado de forma colaborativa por diversos participantes, por meio do telefone celular ou internet. [WikiMapa 2011]. O projeto foi lançado
em 2009 pelo Programa Rede Jovem, da ONG Comunitas, que atua em comunidades de
baixa renda oferecendo à juventude oportunidades de interação com as novas tecnologias.
Com o WikiMapa é possível inserir informações sobre diferentes lugares de interesse
público (hospitais, escolas, comércios, praças, quadras esportivas, restaurantes, bares,
entre outros) em quaisquer lugar do Brasil e do mundo, como também consultar e editar
comentários e referências sobre os locais já mapeados.
CAPÍTULO 2. SISTEMAS DE INFORMAÇÃO GEOGRÁFICA
8
Esse mapeamento pode ser feito por qualquer pessoa que tenha cadastro no site do
WikiMapa e/ou o programa instalado em um celular com GPS, permitindo a inserção
das informações, coleta da localização e também compartilhamento das experiências em
blogs dentro do site do projeto.
O diferencial do projeto é o mapeamento de ruas e vielas de comunidades de baixa
renda, que até então não tem sido realizados pelos serviços de pesquisa e visualização
de mapas na internet, além do mapeamento dessas comunidades, realizado pelos próprios
moradores.
Em sua fase piloto, cinco comunidades cariocas foram mapeadas: Complexo do Alemão,
Complexo da Maré, Cidade de Deus, Santa Marta e Pavão-Pavãozinho. Em cada uma tem
um jovem morador, responsável por identificar caminhos e locais de interesse, iniciando a
construção do mapa georeferenciado de sua comunidade, tornando sua cultura e geografia
conhecidas por qualquer usuário do WikiMapa.
O Programa Rede Jovem recebeu em 2010 quatro grandes prêmios devido à experiência adquirida com o projeto Wikimapa e foi, ainda, a única iniciativa da América Latina
indicada como finalista ao prêmio Mobile Monday Peer Awards, na categoria Bottom of
the Pyramids.
2.4
Wikimapia
Wikimapia é um sistema de busca e mapeamento na internet que utiliza imagens de
satélite do planeta Terra para identificar os locais mostrados, desde pequenos comércios
até cidades inteiras. O serviço se baseia nas imagens de satélite como as providas pelo
Google mapas. O sistema wiki é aplicado na forma de localização de lugares, pois qualquer pessoa tem a permissão (sendo registrado) de inserir um local no mapa até mesmo
editar os locais já criados. [Wikimapia 2011]
O WikiMapia foi apresentado em 2006 pelos russos Alexandre Koriakine e Evgeniy
Saveliev. A aplicação dispõe várias funcionalidades de edição de mapas, principalmente
através do uso de polígonos que permitem definir precisamente a área do local marcado e ferramentas lineares, como estradas, ferrovias e rios.
No princípio, todos os usuários editavam anonimamente e não havia mecanismos de
monitoramento de usuários problemáticos ou vândalos. Em outubro de 2006, criou-se
o sistema de registro de usuários. Apesar disso, o registro não se tornou obrigatório
e ainda hoje é permitida a colaboração como usuário não registrado. Posteriormente,
adotaram-se diferentes níveis de usuários, permitindo que usuários mais experientes que
sejam considerados confiáveis (chamados de usuários nível 2, ou usuários avançados)
CAPÍTULO 2. SISTEMAS DE INFORMAÇÃO GEOGRÁFICA
9
ganhassem maiores capacidades, como proteger regiões ou banir vândalos.
A marcação dos locais envolve basicamente a definição da área ocupada, título, descrição, endereço, categorias. Um link para artigos da Wikipédia descrevendo o local, é
também incentivado, havendo campos específicos para este fim. Os usuários podem ainda
adicionar fotos dos locais. Na descrição é permitida a inserção de links para páginas da
web e vídeos do Youtube, por exemplo. As categorias são usadas para que se possa filtrar
a visualização, permitindo se ver apenas os locais marcados com certa categoria.
Os locais marcados podem ser descritos em 101 idiomas diferentes, enquanto a interface do usuário já foi traduzida para 56 idiomas.
2.5
Comob
Comob é um projeto de arte digital que explora o potencial do mapeamento colaborativo com a tecnologia GPS. Comob foi desenvolvido como uma ferramenta de pesquisa
para explorar as relações sociais e espaciais entre as pessoas em movimento [Comob
2011]. Ele atualmente é suportado nas plataformas suporta aplicações para iPhone e
Nokia que explora mapeamento colaborativo com a tecnologia GPS. O sistema permite
que os membros de um grupo compartilhado vejam a posição e a movimentação do outro
em tempo real em seus telefones móveis. O grupo é interligado por uma linha que mostra
a sua distribuição espacial relativa.
2.6
Avaliação das ferramentas pesquisadas no escopo do
trabalho proposto
Aplicações como estas que foram descritas nas seções anteriores revelam um aspecto
interessante sobre interações sociais no mundo digital: muitos estão dispostos a colaborar
em prol do bem comum. De fato, quanto mais bem alimentados forem os bancos de dados
de cada ferramenta, mais bem informados estarão seus usuários.
Entretanto, dois aspectos importantes podem ser observado nestas e em outras propostas de sistemas de georeferenciamento colaborativo existentes. Um deles é o fato de
as aplicações estarem cada vez mais voltadas para o mercado de dispositivos móveis.
O outro é que a grande maioria das aplicações são desenvolvida em países de primeiro
mundo, onde as malhas viárias geralmente são bem cuidadas e a educação no trânsito é
realmente levada à sério.
CAPÍTULO 2. SISTEMAS DE INFORMAÇÃO GEOGRÁFICA
10
No Brasil, não são raras as falhas em vias públicas e regiões de perigo. Entenda-se por
regiões de perigo os trechos de rodovia que, embora possam estar livres de falhas na via,
são palco de constantes acidentes de trânsito (ex: trechos com baixa visibilidade, curvas
acentuadas e locais de constantes transgressões de motoristas).
O uso de navegação automotiva assitida por GPS não se faz necessário para os usuários
quando as rotas de chegada ao destino são conhecidas. Exemplos típicos destes usuários
são motoristas de ônibus de linhas interestaduais e caminhoneiros. Para estes usuários, a
existência de uma ferramenta que os lembre de pontos de perigo oferecem grande utilidade em suas viagens de transporte de passageiros e cargas. As ferramentas comerciais
disponíveis, embora sejam capazes de orientar motoristas sobre rotas de viagem, são inúteis para realizar alertas de falhas e pontos de perigo.
Neste sentido, a proposta do trabalho vem preencher esta lacuna, oferecendo um sistema que pode ser usado pelas mais variadas categorias de motoristas para melhorar sua
proteção durante seus deslocamentos entre localidades. Ademais, a ferramenta não deverá
demandar a presença constante de um canal de comunicação para que mapas e pontos de
interesse sejam carregados para o dispositivo móvel. A atualização dos dados poderá ser
feita pelo usuário apenas nos locais onde canais de comunicação estiverem disponíveis.
Tal funcionalidade é útil, tanto no sentido de que nem sempre sinais de rádio estão presentes nas vias de transporte estadual ou interestadual, quanto no sentido da redução de
custos de comunicação, geralmente associados à transmissão de dados por operadoras de
telefonia móvel.
Para desenvolver a proposta do trabalho, que é a marcação de pontos de perigo de
forma colaborativa, é necessário considerar a marcação redundante de pontos pelos usuários
e, inclusive, a remoção de pontos de perigo, por exemplo, em falhas já consertadas em
vias danificadas. Para isso, o uso de algoritmos de aglomeração de dados que reduzam
esta redundância são necessários e valiosos para oferecer ao usuário mapas condensados.
Estes mapas deverão representar as informações de alerta de forma a exigir o mínimo de
recursos de memória para o dispositivo móvel e evitar aborrecer o usuário com repetições
(o que poderia desestimular o uso da ferramenta). A seleção do algoritmo de aglomeração
apropriado será discutida no capítulo seguinte.
Capítulo 3
Aglomeração de dados
Os algoritmos de aglomeração englobam uma categoria de algoritmos que buscam
reunir objetos em grupos homogêneos [Frei 2006]. Eles representam uma das principais
etapas de processos de análise de dados, denominada análise de clusters [Jain et al. 1999].
Aglomeração de dados é um processo de particionamento de uma quantidade de dados
em grupos, ou clusters e, por natureza, operam de forma não supervisionada. Em outras
palavras, algoritmos de aglomeração não requerem conhecimento prévio dos grupos de
dados para poderem agir sobre um conjunto de dados. O critério usado para aglomerar
os grupos é geralmente alguma medida de similaridade ou distância. Como resultado do
processo, elementos originalmente separados são organizados em conjuntos denominados
de clusters. Um exemplo de medida de similaridade é a distância euclidiana.
Os algoritmos de aglomeração colocam no mesmo cluster elementos que têm mais
semelhança entre eles, maximizando então as semelhanças entre elementos dentro do
cluster. De forma concomitante, elementos de diferentes clusters apresentam menor similaridade entre si, minimizando, então, as similaridades entre grupos. Assegurar estas
características é uma importante etapa do processo de análise de dados, tradicionamente
conhecida de análise de clusters [Jain et al. 1999].
Algoritmos de aglomeração podem ser divididos em dois grupos principais: algoritmos hierárquicos e não hierárquicos [Jain et al. 1999, Larose 2005].
Os Algoritmos hierárquicos criam uma hierarquia de clusters, que podem ser representados em uma estrutura de árvore chamada dendrograma. Eles podem ser divididos
em mais duas categorias: algoritmos aglomerativos e divisivos.
O algoritmo hierárquico aglomerativo têm uma abordagem bottom-up, ou seja, o processo inicialmente assume cada elemento de dado como um cluster diferente. Então,
o algoritmo vai juntando de forma iterativa dois clusters, que têm maior semelhança e
prosseguindo neste processo até que no final exista apenas um cluster ou até que outro
critério de parada seja alcançado, como o limite no número de clusters, por exemplo.
CAPÍTULO 3. AGLOMERAÇÃO DE DADOS
12
Diferente do aglomerativo, o algoritmo divisivo apresenta abordagem top-down. Começa
o processo com apenas um cluster contendo todo o conjunto de dados. A cada passo do
algoritmo, esse cluster é dividido recursivamente seguindo métricas de comparação, até
que cada elemento represente o seu próprio cluster. Ao fim do processo, ou o número de
clusters é igual à quantidade de dados ou até algum outro critério de parada ser alcançado,
tal como o número máximo de clusters alcançado.
Os algoritmos não-hierárquicos (ou particionados) normalmente particionam os dados
uma única vez em um determinado número de clusters especifico, ao invés de uma estrutura interligada, como o dendrograma produzido pela técnica hierárquica. Métodos particionados têm vantagens em aplicações que envolvam grandes conjuntos de dados para os
quais a construção de um dendrograma é computacionalmente custosa. Esta característica
coloca a escolha de algoritmos particionados como candidatos naturais para aplicação no
problema proposto neste trabalho. Uma das limitações que geralmente acompanha o uso
de um algoritmo divisivo é a escolha do número de clusters desejado.[Jain et al. 1999].
Entretanto, existem soluções elegantes que conseguem contornar esta limitação.
Dos algoritmos particionados, talvez o mais conhecido seja o algoritmo k-means
[MacQueen 1967]. O algoritmo surgiu em 1967 e sua proposta é processar um conjunto
de dados n-dimensionais agrupando os elementos em uma quantidade pré-determinada de
grupos.
Dado um conjunto n-dimensional, o algoritmo k-means visa particionar o conjunto de
dados em k clusters. Ao final do processamento, o algoritmo encontrará k centros, um para
cada cluster. Cada centro é representado por um elemento n-dimensional ci , i = 1 . . . k,
que é o ponto médio (ou centro) de cada cluster. Os centros obtidos pelo algoritmo kmeans podem ser usados para fazer a classificação de um elemento de prova em busca do
melhor grupo em que esse possa ser inserido. O algoritmo k-means funciona conforme
os seguintes passos:
1 - Dado o valor de k, número de clusters a serem gerados, são escolhidos aleatoriamente k elementos para serem os centros dos clusters, geralmente do próprio
conjunto de entrada.
2 - Para cada elemento do conjunto de dados:
2.1 - Encontrar o cluster que tem a maior similaridade com o elemento, com base
na medida de distância.
2.2 - Definir este elemento como pertencente ao respectivo cluster.
3 - Para cada cluster:
CAPÍTULO 3. AGLOMERAÇÃO DE DADOS
13
3.1 - Atualizar os valores dos centros como sendo a média dos elementos pertencentes ao cluster.
4 - Repetir os passos 2 e 3 até que se atinja a convergência, por exemplo, quando a
distância entre o centro em um passo anterior e o passo atual for menor que um
limiar pré-estabelecido.
Como exemplo de aplicação do algoritmo, considere um sistema de classificação de
tumores de pele. O sistema recebe informações do tipo curvatura, tamanho, textura e
cor e deve ser capaz de orientar seu usuário acerca da melhor classificação do tumor sub
judice. Entretanto, o sistema precisa ser treinado com exemplos previamente rotulados
por especialistas, descrevendo a benignidade ou malignidade dos exemplos.
O algoritmo k-means pode ser usado neste problema para processar os exemplos e
agrupá-los em dois conjuntos (benignos e malignos), gerando centros correspondentes
para cada um. Rotulados os centros com base nas informações fornecidas pelos especialistas, estes podem ser usados para classificar uma nova amostra, usando a mesma medida
de distância escolhida para o treinamento.
Embora seja aplicável a diversos tipos de problemas de aglomeração, o algoritmo
k-means possui uma limitação que o impede de ser usado no problema proposto. O
número de centros deve ser previamente definido. Sendo assim, alternativas que permitam a aglomeração de pontos sem a prévia fixação da quantidade de centros precisam
ser consideradas.
Dos algoritmos pesquisados, um deles chama a atenção pela forma como realiza o processo de aglomeração. A criação do centro se dá pela fixação do seu limite de diâmetro,
que é justamente o que se busca para o caso do sistema de alerta proposto. O algoritmo
é denominado QT clustering e será descrito na seção a seguir, bem como as justificativas
que embasam sua escolha.
3.1
QT clustering
O algoritmo de aglomeração Quality Threshold clustering (ou QT clustering) foi
desenvolvido por Heyer, Kruglyak e Yooseph para aglomeração genes de DNA [Heyer
et al. 1999].
O algoritmo requer um maior custo computacional que o algoritmo k-means, possui
custo exponencial, porém não exige a definição do número de clusters a priori, como no
k-means. Execuções distintas do QT clusering fornecem sempre o mesmo resultado.
CAPÍTULO 3. AGLOMERAÇÃO DE DADOS
14
Ao invés do número de clusters, esse algoritmo recebe como entrada um valor limite
para o diâmetro do cluster. Sendo assim, o foco desse algoritmo é encontrar clusters cujos
diâmetros não ultrapassem o limiar fornecido.
O algoritmo segue os seguintes procedimentos:
1. O primeiro aglomerado candidato é formado começando pelo primeiro elemento
amostrado do conjunto de entradas;
2. Os demais elementos do conjunto são adicionados iterativamente, dado que cada
elemento escolhido minimiza o aumento do diâmetro do aglomerado candidato. O
processo continua até que o diâmetro do aglomerado candidato não ultrapasse o
limiar;
3. Um segundo aglomerado candidato é formado pelo segundo elemento do conjunto
e o mesmo processo de formação descrito na etapa anterior é repetido para todos os
dados do conjunto de entrada;
4. O processo é repetido para todos os elementos do conjunto, de sorte que o número
de aglomerados candidatos seja igual ao número de elementos no conjunto de entrada;
5. O aglomerado candidato com maior número de dados é selecionado como um
aglomerado titular e os dados contidos nele são removidos dos outros aglomerados candidatos;
6. O processo de seleção de titulares é repetido para todos os aglomerados candidatos
até o último aglomerado;
7. O centro de cada aglomerado é assumido como sendo posição do elemento que o
originou.
Um possível critério de parada é quando o cluster restante contiver menos que um
número de elementos especificado. O Algoritmo 1 mostra o funcionamento do QT clustering.
A idéia do algoritmo, embora simples, possui aplicação direta no problema proposto.
Considere a situação onde o sistema de alerta precise avisar um motorista de um ponto de
perigo que se encontra adiante no curso da via. Emitido o alerta, o motorista deveria ser
capaz de reagir ao alerta, iniciar o processo de frenagem e parar, antes de atingir o ponto
de perigo, para se por em segurança.
A distância percorrida entre o início da reação e a parada do veículo é denominada distância de parada e, usando cálculos simples, pode ser estimada conforme a velocidade
do veículo e tipo de pista. Para um veículo se deslocando a 110 km/h em pista seca, a distância de parada pode ser estimada em aproximadamente 150m [Seguras 2011]. Criando
CAPÍTULO 3. AGLOMERAÇÃO DE DADOS
15
Algoritmo 1 QT clustering(G, d). Recebe como dados de entrada o conjunto G e um
diâmetro d, e retorna um conjunto de clusters limitados em tamanho pelo diâmetro
fornecido. Fonte: [Heyer et al. 1999]
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
if |G| ≤ 0 then
return G
else
for all i ∈ G do
f lag ← T RUE
Ai ← {i}
while ( f lag = T RUE)&(Ai 6= G) do
Encontre j ∈ (G − Ai ) em que o diâmetro de (Ai ∪ { j}) é mínimo
if diâmetro de (Ai ∪ { j}) > d then
f lag ← FALSE
else
Ai ← Ai ∪ { j}
end if
end while
end for
end if
Identifique o conjunto C ∈ {A1 , A2 , ..., A|G| } com a máxima cardinalidade
return C
QTclustering(G −C, d)
clusters, por exemplo, com limite de diâmetro de 300m, seria possível marcar pontos de
perigo representativos de aglomerados que estejam a aproximadamente 150m de distância
de um motorista posicionado no limite do aglomerado. Assim, motoristas se deslocando
a 110 km/h se avisados quando estiverem a 150m de distância do ponto representativo,
poderiam reduzir a velocidade com segurança até atingir o obstáculo. Embora possa ser
estimado um valor mínimo para essa distância de alerta, esta grandeza poderá também ser
definida pelo próprio usuário da ferramenta, através do estabelecimento de parâmetros em
uma interface de usuário.
Estudos heurísticos podem ser realizados usando, por exemplo, opiniões e dados coletados dos próprios usuários da ferramenta para determinar um diâmetro adequado para
os centros dos aglomerados e distância padrão para alertas, nem tão pequena que irrite os
motoristas com alertas excessivos, nem tão grande que instrua o sistema a realizar alertas
demasiadamente antecipados.
Capítulo 4
Trabalho proposto
O presente trabalho propõe o desenvolvimento de um Sistema Informação Geográfica
(SIG) colaborativo capaz de agregar tecnologias muito difundidas e de fácil acesso, como
as ferramentas localização geográfica, cartografia digital e interatividade com a Internet,
usando smartphones.
São agregados um sistema de geração de alertas, através de um dispositivo móvel,
que avisa da proximidade de pontos de perigo nas vias de transporte, e um sistema de
aglomeração de dados para coletar e processar informações dos seus diversos usuários.
Para funcionar, o sistema precisa ter a priori as coordenadas geográficas desses pontos
cadastradas em uma base de informações. Estas coordenadas deverão ser fornecidas pelos
usuários enquanto estiverem trafegando nas vias. Os pontos deverão ser enviados a um
servidor que irá processá-los e gerar uma lista representativa de pontos de perigo. Uma
vez recuperada esta lista, o usuário poderá utilizá-la durante a navegação em conjunto
com a lista dos pontos por ele marcados.
4.1
Funcionamento do sistema
Uma visão geral do sistema proposto é apresentada na Figura 4.1. Nesta figura, cada
número identifica uma fase do processo de armazenamento, tratamento e recuperação de
informações do servidor SIG. O processo de construção da base de informações tem início
pela iniciativa dos seus usuários, que alimentam o sistema marcando nos dispositivos
móveis os pontos de perigo e os enviam ao servidor SIG(1) . O servidor armazena os pontos
fornecidos em um banco de dados(2) , relacionando as marcações realizadas pelos usuários.
Os pontos presentes na base de dados de usuários são enviados para processamento e
geração periódica dos aglomerados através do algoritmo QT clustering(3) . O resultado
do processamento é armazenado no banco de dados(4) para consultas(5) e atualização de
pontos de perigo (centros dos aglomerados) nos clientes móveis(6) . Os dados presentes
CAPÍTULO 4. TRABALHO PROPOSTO
17
no servidor de banco de dados também podem ser acessíveis de forma integrada com
clientes desktop(6) , no caso da necessidade de visualização ou manipulação dos pontos
superpostos com mapas digitais em um computador.
LCD-Pro
CARD
READER
PHONE
MIC
LINE-IN
AUDIO
SATA
USB
EJECT
-RW
DVD
POWER
SELECT
+
-
MENU
1
Cliente
móvel
NumLock
~
`
!
F4
F3
F1 F2
Esc
1
@
Tab
2
#
F7 F8
F11 F12
F9 F10
+
_
-
ScrollLock
PrintScrn
SysRq
Pause
$
4
%
|
\
Home
NumLock
PageUp
Delete
}
ScrollLock
CapsLock
Break
Insert
=
End
PageDown
Shift
-
*
/
7
9
8
Home
]
) 0
{ [
F6
( 9
" '
* 8
O P
& 7
L : ;
?
^
U I
5 6 T Y
J K M < , > . /
G H
N
E R
D F C V B
Q W
A S
CapsLock
Z X
F5
3
4
PgUp
+
6
5
1
End
3
2
0
PgDn
.
Enter
Del
Ins
Ctrl
Alt Gr
Alt
Shift
Ctrl
6
Cliente
desktop
Internet
4
5
Banco de
dados
2
4
Servidor SIG
3
QT clustering/
Processamento
auxiliar
Figura 4.1: Arquitetura do sistema proposto para marcação e aglomeração de pontos.
4.2
Marcação de pontos
Em se tratando de um sistema de alerta colaborativo, o usuário deve ser capaz de marcar de forma simples e rápida a presença de algum ponto de perigo na via em que estiver
trafegando. A marcação deverá ser feita no dispositivo móvel através de botões presentes
CAPÍTULO 4. TRABALHO PROPOSTO
18
na interface do aplicativo. Da mesma forma que a marcação de pontos candidatos a inclusão na base de informações é permitida, também será permitida a marcação de pontos
candidatos a remoção da base de dados. Esta situação poderá ocorrer, por exemplo, para
falhas na via marcadas pelos usuários e já foram reparadas.
A interface de usuário proposta para o sistema é mostrada na Figura 4.2.
(10:30h)
(10:40h)
(10:42h)
(10:53h)
(10:55h)
(14:00h)
GPS ok! Iniciando navegação
Inserida falha na via
Trecho perigoso a 200m
Zona livre marcada
Inserida falha na via
Base de dados sincronizada
TRECHO
PERIGOSO
FALHA
NA VIA
ZONA
LIVRE
Figura 4.2: Interface de usuário para dispositivo móvel.
Na tela da interface do usuário são propostas quatro regiões principais: uma região
superior para apresentação de informações (distância para pontos de perigo, iterações
com o aplicativo, etc) e três regiões sensíveis ao toque, sendo dois botões centrais para
marcação de pontos de perigo e um botão inferior para a marcação de zonas livres.
Os pontos de perigo serão classificados em duas categorias: falhas na via (caracterizadas pela associação a buracos e ondulações, por exemplo) e zonas de perigo (associadas a curvas fechadas e pontos de ultrapassagem perigosos, por exemplo). Cada
categoria poderá gerar um alerta diferenciado para o usuário, bem como prover às entidades govenamentais dados para melhorarem a sinalização e manuntenção das vias, dadas
as opiniões dos próprios motoristas acerca do que consideram trechos perigosos.
A marcação de zonas livre, associada à remoção de pontos, é feita pelo acionamento
do botão zona livre.
CAPÍTULO 4. TRABALHO PROPOSTO
19
A interface oferece alertas sonoros para não desviar a atenção visual do motorista
enquanto percorre o curso da rodovia. Com isso, a ferramenta desenvolvida não oferece
insumos que motivem os motoristas a desobedecer a legislação de trânsito, desviando o
foco da atenção. Dessa forma, a interação entre usuário e ferramenta funciona de forma
semelhante à do navegador GPS convencional, onde este vai ditando as informações ao
motorista.
A alimentação da plataforma móvel com as marcações se dá quando o usuário acionar
as regiões correspondentes no seu smartphone. Entenda-se como usuário, durante procedimento de marcação, aquele que vai manipular a plataforma móvel (que pode ser um
dos passageiros que acompanham o motorista durante a viagem). Para cada ponto marcado são armazenadas as suas coordenadas geográficas, latitude e longitude, data e hora
da marcação, bem como o tipo de ponto selecionado(falhas na via ou zonas de perigo).
O envio dos pontos da plataforma móvel para o servidor SIG não é imediata. Parte-se do
princípio que, em zonas rurais, normalmente sinais de rádio que permitiriam conexões de
dados estão indisponíveis. Portanto, os pontos podem ser enviados para o servidor SIG
para futuro processamento através de um processo de sincronização, quando uma conexão
com a Internet estiver disponível.
O envio das informações para o servidor SIG é feito em lote, quando então as informações dos novos pontos presentes no smartphone são transferidos. Quando os dados
chegam ao servidor, estes são submetidos a técnicas de processamento inteligente para
escolher os pontos de alerta.
Pressupõe-se que a marcação do ponto de perigo na via não deva ser exatamente a
mesma para todos os motoristas. Quando um usuário passa por um ponto de perigo e
realiza a marcação no seu aparelho móvel, esta poderá ocorrer em pontos aproximados
ao ponto de perigo real, devido ao retardo ou antecipação associados à ação do usuário,
ou precisão do receptor GPS do dispositivo móvel. A falha pode ser marcada, portanto,
antes ou depois de o veículo passar pelo ponto. Além disso, vários usuários podem marcar a mesma falha mais de uma vez, resultando em redundância de informações em torno
dos pontos de perigo. Sendo assim, ocorre a necessidade de consolidar estes vários pontos marcados e selecionar um único ponto de perigo associado às marcações sugeridas.
Exemplos de nuvens de pontos que podem ser marcadas no processo colaborativo são
mostradas na Figura 4.3. Nesta figura, os pontos marcados pelos usuários são representados com uma cruz e o ponto representativo de uma aglomerado gerado após tratamento
por técnicas inteligentes é destacado com um círculo.
CAPÍTULO 4. TRABALHO PROPOSTO
20
Ponto
representativo
Pontos de perigo
Curso da via
Cursos das vias
Falhas nas vias
Trechos perigosos
Figura 4.3: Exemplo de nuvens formada pela marcação de vários motoristas com seu
ponto representativo e os diferentes tipos de nuvens com pontos de perigo que podem ser
marcados nos cursos das vias.
4.3
Processamentos dos dados
É no contexto da Figura 4.3 que o processamento dos pontos colhidos pelos usuários
do aplicativo torna-se necessário para produzir apenas pontos de perigo significativos.
Para problemas dessa natureza, algoritmos de aglomeração são candidatos naturais para
uso no sistema de marcações. A geração dos pontos representativos dos aglomerados
de marcações fornecidas pelos usuários deve ser feita de modo a remover as possíveis
redundâncias que porventura sejam fornecidas por diferentes usuários.
No caso desse trabalho, demanda-se um algoritmo de aglomeração que não exija a
determinação a priori da quantidade de aglomerados a serem formados, visto que não
existe a possibilidade de saber de antemão quantos pontos de perigo poderão existir em
uma via.
CAPÍTULO 4. TRABALHO PROPOSTO
21
Os aglomerados de pontos deverão ser formados nas proximidades dos pontos de
perigo, conforme as marcações dos usuários, devendo esta condição se repetir para cada
ponto de perigo real (ver Figura 4.3). Acredita-se que o diâmetro dessas nuvens tenda a
ser regular, devendo assumir forma geralmente elíptica. Tais conjecturas são baseadas no
tempo de observação e reação média dos usuários, promovendo a forma do eixo maior da
elipse, e na precisão do GPS, promovendo a expansão do eixo menor.
Diante das peculiaridades do sistema proposto, o algoritmo QT clustering apresentado
na seção 3.1 foi escolhido como candidato à criação dos centros que marcam os pontos de
perigo. O servidor SIG, em atividades escalonadas periodicamente, determina os centros
dos aglomerados via QT clustering, e torna estes centros disponíveis aos usuários para
atualização das bases de informação móveis.
O uso do algoritmo de aglomeração QT clustering possibilita amenizar a redundância
de marcações, oferecendo para um usuário apenas os pontos mais significativos de perigo,
de modo a orientá-lo sem excesso de informações. Neste trabalho, foi escolhida uma
distância de 300 metros como diâmetro máximo dos aglomerados, assumindo que, para
este diâmetro, é oferecido um limite mínimo para alertar o motorista com segurança.
4.4
Remoção de pontos
Para os aglomerados formados em torno dos ponto de perigo, centros correspondentes
serão determinados pelo próprio algoritmo de aglomeração. O processo de criação ou atualização destes pontos de perigo deve prever, também, a situação onde a existência de
determinados pontos de perigo não seja mais necessária. Um exemplo típico dessa situação é propiciada pelo reparo de um buraco na rodovia que fôra marcado como ponto de
perigo. Em casos como esses, os usuários da ferramenta poderão realizar uma marcação
do tipo zona livre (ver Figura 4.2), indicando a inexistência de fatores capazes de gerar
perigos na região marcada.
Os pontos marcados como zona livre também participam do processo de aglomeração, influindo negativamente na inclusão ou manutenção de centros novos ou existentes,
respectivamente. O processamento desses pontos pelo algoritmo de aglomeração leva em
conta informações tais como o momento em que os pontos foram inseridos na base de
dados de pontos de perigo e a quantidade de marcações do tipo zona livre. Os pontos
marcados como zona livre não provocam a criação de novos aglomerados. Eles servem
apenas para decidir se os aglomerados dos quais participam são ou não candidatos à remoção.
Para decidir a remoção de um aglomerado da base de dados foi utilizada uma heurís-
CAPÍTULO 4. TRABALHO PROPOSTO
22
tica simples com base em um limiar K preestabelecido. Calcula-se a idade média dos
pontos de perigo mais recentes no aglomerado e dos pontos de zona livre mais recentes
no mesmo aglomerado e compara-se as duas médias. Caso a média de idade dos pontos de
zona livre supere a média de idades dos pontos de perigo e o número de pontos de zona
livre atinja o limiar K, todo o aglomerado é removido da base de dados. No protótipo
desenvolvido, escolheu-se um limiar K = 3 como parâmetro para controlar a remoção de
aglomerados.
A heurística proposta foi escolhida com base em algumas suposições acerca do uso da
plataforma móvel. Caso um usuário receba um alerta de ponto de perigo e o ponto realmente exista, dificilmente ele marcará novamente este ponto na ferramenta como sendo
ponto de perigo, uma vez que foi avisado corretamente da presença do ponto. Neste caso,
as idades das marcações dos pontos de perigo tendem a ser mais antigas que as idades das
marcações de zona livre. Caso um usuário receba um alerta de ponto de perigo e o ponto
não exista, a realimentação natural será marcar aquele ponto como zona livre, para evitar
futuros alertas. O limiar para remoção de aglomerados mencionado no parágrafo anterior
visa impedir a remoção prematura de pontos de perigo, requerendo que alguns usuários
colaborem na confirmação da zona livre marcada. É importante observar que o mesmo
limiar inexiste para a marcação de um ponto de perigo, justamente para que prevaleça o
zelo na marcação de possíveis perigos presentes nas vias.
4.5
Alertas de perigo
O sistema de alerta para o dispositivo móvel oferece alerta sonoros, informando ao
motorista da proximidade de algum ponto de perigo na via em que ele estiver trafegando. Para chamar atenção do motorista, o alerta sonoro pode sintetizar fala para informar ao motorista a distância para o ponto de perigo e o tipo de perigo que está eminente. A plataforma de testes na qual o protótipo da ferramenta foi criado, a plataforma
Android(http://www.android.com), já dispõe deste recurso para o desenvolvedor.
Para gerar os alertas, o programa em execução na plataforma móvel deverá constantemente recuperar as coordenadas geográficas locais via GPS, calcular a distância do
usuário para o ponto de perigo mais próximo, e avisar o usuário conforme os alertas programados na interface de usuário. Embora os aglomerados sejam gerados com diâmetro
fixo, a distância mínima de alerta poderá ser definida pelo próprio usuário.
CAPÍTULO 4. TRABALHO PROPOSTO
4.6
23
Interface desktop
A visualização das posições dos pontos pode ser feita na própria plataforma móvel
utilizando os recursos de apresentação de mapas disponibilizados pela Google. Apesar
desta comodidade, uma interface desktop é também disponibilizada para possibilitar a
exibição dos pontos de perigos juntamente com a ferramenta Google Mapas. A interface desktop é capaz de oferecer uma interação visual mais rica e poderá servir como
fonte de insumos para os órgãos responsáveis pela conservação e manutenção das vias
de transporte realizarem procedimentos de recuperação ou melhor sinalização das vias.
Cruzando informações fornecidas pelas marcações geradas pela ferramenta proposta com
informações do próprio DNIT, medidas colaborativas entre cidadãos e o Estado podem ser
tomadas para melhorar a qualidade das vias públicas e diminuir a quantidade de acidentes.
A exibição dos centros gerados pelo algoritmo pode ser feita diretamente através de
uma página web pela integração com a ferramenta Google Mapas. Os recursos de desenvolvimento disponibilizados pela Google permite que os pontos seja exibidos na forma
de uma camada (layer) integrada ao próprio navegador. Com isso, o usuário poderá visualizar a representação dos pontos de perigo juntamente com fotos de satélite contemplando a região onde são situados. O protótipo desenvolvido para este trabalho é ilustrado
na Figura 4.4.
Figura 4.4: Protótipo da interface desktop para visualização de centros usando os recursos
do Google Maps.
CAPÍTULO 4. TRABALHO PROPOSTO
4.7
24
Sincronização e expurgo de dados
A sincronização entre as marcações presentes na plataforma e as marcações fornecidas
a esta pelo servidor SIG é outro aspecto importante que precisou ser considerado. Ao
enviar ou receber informações, a ferramenta presente no dispositivo móvel precisa estar
alerta para não enviar dados repetidos ou desnecessários ao servidor SIG. Da mesma
forma, precisa ser capaz de evitar possíveis redundâncias oriundas dos dados recebidos
deste servidor.
Visando contornar tais problemas, estratégias de rotulação e processamento adicionais
foram também incorporadas à ferramenta móvel. Para fins de sincronização, os pontos de
perigo receberam os seguintes rótulos adicionais (além dos rótulos de trecho perigoso e
falha na via):
Novo: Ponto marcado pelo usuário, mas que ainda não foi comunicado ao servidor SIG.
Sincronizado: Ponto marcado pelo usuário e que já foi comunicado ao servidor SIG.
Centro: Ponto recebido pelo servidor SIG, resultado do processamento dos aglomerados
via algoritmo QT clustering.
Na interface da ferramenta móvel, são providas funcionalidades para permitir que o
usuário envie os pontos para o servidor remoto. Nesta etapa, os pontos dotados do rótulo
Novo têm seus rótulos substituídos por Sincronizado e são então enviados ao servidor
SIG, evitando assim o envio redundante de marcações ao servidor. A recuperação dos
centros gerados também é feita por intervenção do usuário na interface da ferramenta
móvel. Durante o processo, os pontos locais marcados como centro são substituídos pelos
novos centros recuperados.
O processo de marcação de zonas livres também sofre processamento adicional na
ferramenta móvel e possui processo de sincronização ligeiramente diferente dos pontos
de perigo. Cada marcação de zona livre realizada pelo usuário inicia duas ações a serem
tomadas. A primeira ação, realizada imediatamente, consiste em marcar para remoção
na base de dados local todos os pontos de perigo marcados dentro de um raio igual à
metade do diâmetro estipulado para o tamanho máximo dos aglomerados. A segunda
ação consiste em comunicar ao servidor SIG, durante a etapa de recuperação de centros,
os pontos marcados como zona livre. Uma vez enviados, eles são então removidos da
base de dados local, posto que sua presença torna-se inútil na ferramenta.
CAPÍTULO 4. TRABALHO PROPOSTO
4.8
25
Modelo do sistema
O sistema proposto foi desenvolvido utilizando uma confluência de diversas tecnologias diferentes.
O módulo embarcado na plataforma móvel foi desenvolvido em Java, dadas as exigências do sistema operacional Android.
O módulo servidor foi implementado parte em PHP, nos procedimentos de interação
com usuário, e parte em C++, para o processamento numérico do algoritmo QT clustering.
Neste caso, o uso da linguagem C++ é justificado pelo alto custo computacional exigido
pelo algoritmo de aglomeração. Além disso, esta linguagem permite que versões futuras
do algoritmo que executem em arquiteturas paralelas sejam mais facilmente acopladas ao
módulo servidor.
A transferência dos dados entre a plataforma móvel e o servidor é feita através de um
web service desenvolvido em PHP.
O módulo desktop do sistema foi desenvolvido parte em linguagem Javascript para
composição de cenários, haja vista as funcionalidades providas pela biblioteca de programação Google Maps disponibiliza para o desenvolvedor, e parte em PHP para a recuperação dos pontos da base de dados.
Capítulo 5
Resultados
Para testar a ferramenta proposta foram feitos experimentos utilizando um smartphone
Samsung Galaxy S II executando sistema operacional Android 4.0.3 (ice cream sandwich). Nos experimentos realizados os usuários foram instruídos a marcarem os pontos
de perigo que lhes conviesse, sendo apenas informados o que poderia ser caracterizado
como trechos perigosos e falhas na via.
O primeiro experimento visava contemplar uma zona urbana. Vários deslocamentos
foram realizados na Avenida Senador Salgado Filho, na cidade de Natal, no Estado do
Grande do Norte, e foi pedido a diferentes usuários que marcassem todos as posições
dos 9 semáforos presentes em um trecho de 3km escolhido nesta avenida como sendo do
tipo trecho perigoso. Nesse experimento, 6 usuários marcaram um total de 61 pontos.
Os pontos marcados pelos usuários são ilustrados na Figura 5.1a. Com a base de dados
abastecida com os pontos recolhidos da marcação, o algoritmo QT clustering foi executado utilizando limite de diâmetro de 300 metros. Os centros gerados são apresentados na
Figura 5.1b. Para este experimento, constatou-se a formação de 10 centros, 9 dos quais
marcando corretamente a posição real dos semáforos para fins de navegação automotiva.
O segundo experimento visava contemplar uma zona rural. Para isso, 2 usuários diferentes foram instruídos a marcar na ferramenta todos os ponto de perigo numa rodovia de
15 km situada entre o centro da cidade de Nísia Floresta até a praia de Barra de Tabatinga,
no Estado do Rio Grande do Norte. Um dos usuários dirigiu-se da cidade à praia e o outro
da praia à cidade.
Realizadas as marcações em ambos os sentidos, os dados gerados pelos usuários foram
processados, gerando os centros para as zonas de perigo marcadas. De posse destes centros, foi pedido a cada usuário que percorresse o mesmo trecho no sentido contrário ao
que haviam percorrido e que verificasse se a ferramenta gerava corretamente os alertas. O
resultado constatado pelos usuários foi o de que todos os alertas foram gerados corretamente, e contemplaram praticamente a totalidade de falhas na via que haviam encontrado.
CAPÍTULO 5. RESULTADOS
27
Um dos experimentos no trecho que liga o centro de Nísia Floresta à praia de Barra
de Tabatinga foi realizado à noite, para testar uma situação onde o usuário desconhece a
via onde trafega e a visibilidade é curta. A experiência relatada pelo usuário foi de que a
ferramenta tornou-se bastante útil no sentido de que pôde ficar mais alerta na proximidade
de pontos de perigo desconhecidos. Os alertas o ajudaram na navegação, permitindo
que tomasse decisões seguras com antecedência, sem ser supreendido por um obstáculo
no curso da rodovia. Uma das atitudes mais presenciadas durante o experimento foi a
redução de velocidade do motorista ao ser alertado.
Os 68 pontos marcados pelos dois usuários na zona rural e os 31 centros gerados
pelo QT clustering são ilustrados nos mapas das Figuras 5.2a e 5.2b, respectivamente.
Observando-se os mapas, pode-se questionar o fato de os pontos encontrarem-se ligeiramente desalinhados das marcações das rodovias fornecidas pelo Google Maps. Entretanto, a inconsistência encontra-se no mapa gerado pela Google e não na posição dos
pontos marcados pelo usuários. Embora estas inconsistências possam ser inconvenientes,
a Google vem se esforçando para melhorar seus serviços de mapas e, para o motorista
usuário da ferramenta, o mais importante é ser alertado da presença de pontos de perigo.
Outro experimento foi realizado para marcar pontos de falha na via nas Avendidas
Salgado Filho e Hermes da Fonseca, em Natal, RN. A marcação foi realizada no dia
27 de setembro de 2012 com o objetivo de marcar as principais falhas da via em um
precurso de 5.400 metros que abrangem estas duas avenidas ao todo. Na época da escrita
desse documento, a sociedade natalense presenciou sérios problemas de desgaste nestas
duas vias (entre outras várias) e, neste experimento, procurou-se demonstrar a viabilidade
da ferramenta para mostrar (em números) problemas encontrados, servindo assim como
instrumento de cobrança de ações públicas. Foram marcados, nessa época, 38 pontos de
falha, que são ilustrados no mapa da Figura 5.3. Para esta situação, os centros gerados
poderiam ser usados como insumo logístico para os órgãos responsáveis determinarem
regiões de atuação.
CAPÍTULO 5. RESULTADOS
28
(a) Pontos marcados
(b) Centros gerados
Figura 5.1: Experimento em zona urbana.
CAPÍTULO 5. RESULTADOS
29
(a) Pontos marcados
(b) Centros gerados
Figura 5.2: Experimento em zona rural.
CAPÍTULO 5. RESULTADOS
30
(a) Pontos marcados
(b) Centros gerados
Figura 5.3: Experimento em zona urbana - marcação de falhas nas Avenidas Salgado
Filho e Hermes da Fonseca.
Capítulo 6
Considerações finais
O presente trabalho propôs a criação de uma ferramenta de geração de alertas para
proteção de motoristas em vias públicas. Os alertas gerados visam indicar ao motorista
pontos caracterizados como falhas e trechos perigosos na via. A marcação dos pontos
pode ser feita pelos usuários da ferramenta de forma colaborativa, sendo a escolha dos
melhores pontos candidatos realizada por um algoritmo de aglomeração.
O processo de aglomeração de pontos e escolha de centros para os aglomerados foi
realizada utilizando o algoritmo QT clustering, haja vista sua capacidade de gerar centros
com base na limitação de um diâmetro máximo para os centros. A imposição do limite
de diâmetro se ajusta perfeitamente à proposta da geração dos alertas, uma vez que é
necessário alertar os motoristas a uma distância razoável do perigo iminente.
Os experimentos realizados mostraram que a ferramenta embarcada em uma plataforma
móvel foi considerada satisfatória para os usuários em zonas urbanas e, principalmente,
em zonas rurais, atendendo às necessidades de cada situação. Uma das principais utilidades constatadas para ferramenta são os alertas gerados durante o período noturno.
Verificou-se que, durante a noite, os alertas gerados pela plataforma móvel tornaram o
usuário mais atento e precavido na presença de pontos de perigo desconhecidos.
Dada a carência de uma ferramenta de proteção a motoristas moldada nos aspectos
discutidos ao longo do texto, é razoável considerar que a ferramenta desenvolvida pode
ser aplicada à realidade nacional, onde boa parte das vias públicas de transporte, principalmente de longa distância, acumulam regiões de perigo.
Alguns aspectos acerca do gerenciamento dos dados fornecidos pelos usuários e da
geração de aglomerados são objetos de estudo futuro:
• O diâmetro do aglomerado diferente do estabelecido em 300 metros pode ser testado na medida em que mais pessoas puderem ter acesso à plataforma.
• O valor do limiar K = 3 que regula a influência de pontos do tipo zona livre pode
ser melhor avaliado.
CAPÍTULO 6. CONSIDERAÇÕES FINAIS
32
• Mecanismos que meçam a qualidade dos pontos baseados na reputação dos usuários
da plataforma podem ser inseridos.
• Inserir na ferramenta móvel a possibilidade de usar mapas com centros gerados por
outros usuários.
• Estratégias baseadas no compartilhamento de mapas via Google Mapas estão sendo
elaboradas, pois podem ser capazes de dispensar mecanismos mais complexos de
autenticação de usuários e prevenir eventuais envenenamentos das bases de dados
por usuários maliciosos.
• Mecanismos de geração de aglomerados apenas entre grupos de usuários também
podem ser considerados no futuro, visando a aplicação da ferramenta em comunidades fechadas (por exemplo, usuários de empresas transportadoras de cargas).
Por fim, acredita-se que a base de dados do sistema possa servir de insumo inclusive
para integração em sistemas de navegação que permitam traçados de rotas mais seguras,
evitando assim possíveis danos ao motorista e ao seu veículo.
Capítulo 7
Agradecimentos
Os autores gostariam de agradecer à CAPES pelo suporte financeiro dispensado e ao
Núcleo de Estatísticas da PRF, pelos dados estatísticos que ajudaram a fundamentar este
trabalho.
Referências Bibliográficas
Clarke, Keith C. (1986), ‘Advances in geographic information systems’, Computers, Environment and Urban Systems 10(3-4), Pages 175–184.
Comob (2011), Comob’s homepage, Página na internet, acessado em junho de 2011.
URL: http://www.comob.org.uk/
DNIT (2011), ‘Estatísticas de acidentes’, Disponível em: <http://www.dnit.gov.br/
rodovias/operacoes-rodoviarias/estatisticas-de-acidentes >. Acesso
em julho de 2011.
Foursquare (2011), Foursquare’s homepage, Página na internet, acessado em junho de
2011.
URL: https://foursquare.com
Frei, Fernando (2006), Introdução à análise de agrupamentos: teoria e prátic, Editora
UNESP, São Paulo.
Heyer, Laurie J., Semyon Kruglyak & Shibu Yooseph (1999), ‘Exploring expression
data:identification and analysis of coexpressed genes’, Genome Research 9, 1106–
1115.
Jain, Anil Kumar, M Narasimha Murty & Patrick Joseph Flynn (1999), ‘Data clustering:
A review’, Acm Computing Surveys 31, 264–323.
Larose, Daniel T. (2005), DISCOVERING KNOWLEDGE IN DATA : An Introduction to
Data Mining, John Wiley and Sons, Hoboken.
MacQueen, J. B. (1967), Some methods for classification and analysis of multivariate
observations, em L. M. L.Cam & J.Neyman, eds., ‘Proc. of the fifth Berkeley Symposium on Mathematical Statistics and Probability’, Vol. 1, University of California
Press, pp. 281–297.
Seguras, Associação Por Vias (2011), ‘Velocidade e distância de parada’, Disponível
em:
<http://www.vias-seguras.com/publicacoes/aulas_de_educacao_
34
REFERÊNCIAS BIBLIOGRÁFICAS
35
no_transito/aula_09_velocidade_e_distancia_de_parada>. Acesso em
julho de 2011.
Waze (2010), Waze’s homepage, Página na internet, acessado em outubro de 2010.
URL: http://www.waze.com/
WikiMapa (2011), WikiMapa’s homepage, Página na internet, acessado em junho de
2011.
URL: http://wikimapa.org.br/
Wikimapia (2011), Wikimapia’s homepage, Página na internet, acessado em abril de
2011.
URL: http://wikimapia.org
Download

Uma aplicação do algoritmo QT clustering para - DCA