Você está na página 1de 92

Sistema para localizao robtica de veculos

autnomos baseado em viso computacional por


pontos de referncia
Leandro Nogueira Couto

SERVIO DE PS-GRADUAO DO ICMC-USP

Data de Depsito:
Assinatura:________________________

Sistema para localizao robtica de veculos autnomos


baseado em viso computacional por pontos de referncia
Leandro Nogueira Couto

Orientador: Prof. Dr. Fernando Santos Osrio

Dissertao apresentada ao Instituto de Cincias


Matemticas e de Computao - ICMC-USP, como parte
dos requisitos para obteno do ttulo de Mestre em
Cincias - Cincias de Computao e Matemtica
Computacional. VERSO REVISADA

USP So Carlos
Julho de 2012

Resumo

A integrao de sistemas de Viso Computacional com a Robtica Mvel um campo


de grande interesse na pesquisa. Este trabalho demonstra um mtodo de localizao global
para Robs Mveis Autnomos baseado na criao de uma memria visual, atravs da
deteco e descrio de pontos de referncia de imagens capturadas, com o mtodo SURF,
associados a dados de odometria, em um ambiente interno. O procedimento proposto,
associado com conhecimento especfico sobre o ambiente, permite que a localizao seja
obtida posteriormente pelo pareamento entre quadros memorizados e a cena atual observada
pelo rob. Experimentos so conduzidos para mostrar a efetividade do mtodo na localizao
robtica. Aprimoramentos para situaes difceis como travessia de portas so apresentados.
Os resultados so analisados, e alternativas para navegao e possveis futuros refinamentos
discutidos.

Abstract

Integration of Computer Vision and Mobile Robotics systems is a field of great interest
in research. This work demonstrates a method of global localization for Autonomous Mobile
Robots based on the creation of a visual memory map, through detection and description of
reference points from captured images, using the SURF method, associated to odometer data
in a specific environment. The proposed procedure, coupled with specific knowledge of the
environment, allows for localization to be achieved at a later stage through pairing of these
memorized features with the scene being observed in real time. Experiments are conducted to
show the effectiveness of the method for the localization of mobile robots in indoor
environments. Improvements aimed at difficult situations such as traversing doors are
presented. Results are analyzed and navigation alternatives and possible future refinements
are discussed.

Sumrio
RESUMO ................................................................................................................................................................I
ABSTRACT .........................................................................................................................................................III
SUMRIO............................................................................................................................................................. V
LISTA DE FIGURAS .........................................................................................................................................VI
1

INTRODUO.........................................................................................................................................1-1
1.1
1.2
1.3

ROBTICA MVEL.............................................................................................................................2-11
2.1
2.2
2.2.1
2.3
2.4

MOTIVAO .......................................................................................................................................1-5
OBJETIVO ...........................................................................................................................................1-7
ESTRUTURA DA MONOGRAFIA .........................................................................................................1-10
SENSORES E ATUADORES .................................................................................................................2-12
MAPAS E LOCALIZAO ..................................................................................................................2-15
Mtodos Probabilsticos Para Localizao................................................................................2-20
A NAVEGAO E CONTROLE ROBTICO ..........................................................................................2-22
A ALTERNATIVA DOS SENSORES VISUAIS ........................................................................................2-26

VISO COMPUTACIONAL E PROCESSAMENTO DE IMAGENS .............................................3-28


3.1
REPRESENTAO DIGITAL DE IMAGENS...........................................................................................3-28
3.2
VISO COMPUTACIONAL APLICADA ROBTICA............................................................................3-31
3.3
MTODOS DETECTORES-DESCRITORES BASEADOS EM ESPAO DE ESCALA ....................................3-34
3.3.1
SIFT ............................................................................................................................................3-34
3.3.2
SURF ..........................................................................................................................................3-39
3.3.3
Outros mtodos similares ...........................................................................................................3-40

VISO COMPUTACIONAL APLICADA ROBTICA: FERRAMENTAS E MTODOS ......4-42


4.1
4.2
4.3
4.4
4.4.1
4.4.2
4.4.3
4.4.4

RESULTADOS E CONCLUSES .......................................................................................................5-58


5.1
5.2

PLATAFORMAS ROBTICAS E PERIFRICOS ......................................................................................4-42


OPENCV ..........................................................................................................................................4-44
A FERRAMENTA PLAYER/STAGE ......................................................................................................4-45
DETALHAMENTO DA PROPOSTA E MTODOS UTILIZADOS ...............................................................4-47
A Construo do Mapa...............................................................................................................4-49
A Localizao Autnoma............................................................................................................4-50
Escolha e Aplicao do Mtodo SURF.......................................................................................4-52
Travessia de Portas ....................................................................................................................4-56
TESTES E RESULTADOS DA LOCALIZAO GLOBAL .........................................................................5-58
TESTES E RESULTADOS DA TRAVESSIA DE PORTAS ..........................................................................5-64

DISCUSSO............................................................................................................................................6-67
6.1

CONSIDERAES FINAIS E TRABALHOS FUTUROS ............................................................................6-70

REFERNCIAS BIBLIOGRFICAS............................................................................................................6-72

Lista de Figuras
Figura 1.1: Exemplo de um brao robtico Unimate (Robot Hall of Fame). ......................................................1-2
Figura 1.2: Rob humanide Asimo, desenvolvido pela Honda. .........................................................................1-3
Figura 1.3: Exemplos de pareamento entre imagens. Perspectivas mais prximas geram mais pares de pontos, e
os pares so mais alinhados horizontalmente. .....................................................................................................1-9
Figura 2.1: O ciclo de percepo e ao do rob..............................................................................................2-11
Figura 2.2: Exemplo de mapa mtrico (S. Thrun)..............................................................................................2-19
Figura 2.3: Um mapa mtrico pode ser decomposto em ns ou clulas, se tornando um mapa topolgico,
representado na figura pelo grafo (Siegwart e Nourbakhsh).............................................................................2-19
Figura 2.4: O funcionamento da localizao Monte Carlo. No quadro A, a nuvem de partculas representa a
incerteza quanto posio do rob. No quadro B, o rob andou um metro para a frente. Como no sabemos sua
orientao inicial, as partculas se espalham como no crculo. No quadro C, o rob observa um ponto de
referncia prximo no canto superior direito, e a likelihood das partculas ali aumenta. O quadro D mostra as
novas partculas aps o resampling. A partir da o ciclo reinicia. ....................................................................2-22
Figura 3.1: Exemplos de mtodos de extrao de caractersticas visuais. Do topo, da esquerda para a direita:
imagem original; imagem com Canny; imagem com Sobel; Laplaciano do Gaussiano. ...................................3-33
Figura 3.2: O primeiro passo do algoritmo SIFT. Primeiro calcula-se o Gaussiano das imagens por convoluo,
e atravs da subtrao dos resultados adjacentes obtm-se as diferenas-do-Gaussiano, onde sero buscadas as
caractersticas invariantes. A escala da imagem reduzida e o processo realizado novamente (Lowe, 2004)..337
Figura 3.3: Exemplo de keypoints obtidos com o algoritmo SIFT. Em (a) temos a imagem original, em (b) o
primeiro conjunto de keypoints obtidos, em (c) o conjunto reduzido aps aplicao de um threshold de contraste
mnimo e (d) o conjunto final aps um threshold de razo mxima de principais curvaturas (Lowe, 2004).....3-38
Figura 3.4: O mtodo SURF resistente a alteraes na imagem. Neste caso, a presena de uma pessoa na cena
no prejudica pares de pontos em outras regies da imagem............................................................................3-40
Figura 4.1: Robs Mveis do Laboratrio de Robtica Mvel na USP (LRM ICMC USP). Da esquerda para
a direita, o Pioneer 3-AT, o Pioneer 3-DX e os dois robs Erratic. ..................................................................4-43
Figura 4.2: Rob Pioneer 3-AT equipado para uso, com a cmera e notebook. ...............................................4-44
Figura 4.3: Uma captura de tela do ambiente de simulao Stage. ..................................................................4-46
Figura 4.4: A VSRR, composta de um percurso de gravao, posteriormente usado na localizao do rob
(adaptado de Matsumoto et al., 1996)................................................................................................................4-48
Figura 4.5: Erro de comparao do SURF em imagens com poucas caractersticas. O critrio de escolha de
imagens por proximidade espacial desclassifica estes resultados. ....................................................................4-55
Figura 4.6: O rob observa a porta com a cmera lateral, buscando parear a imagem observada com a imagem
memorizada, que representa o ponto timo para manobra................................................................................4-57
Figura 5.1: Diversos dos tipos de quadros encontrados no ambiente interno percorrido.................................5-59
Figura 5.2: Estes dois pares mostram diferentes resultados (imagens da direita) obtidos pelos critrios
diferentes (primeiro critrio em cima, segundo critrio embaixo), para a mesma imagem (a imagem da esquerda
a mesma nos dois casos)..................................................................................................................................5-60
Figura 5.3: Pares de resultados obtidos pelos dois critrios em um ambiente diferente...................................5-61
Figura 5.4: Nmero de pares (matches) obtidos pelo mtodo SURF em relao a diferentes imagens, comparado
a uma mesma base de imagens...........................................................................................................................5-62
Figura 5.5: O Mosaico mostra a diferena que variaes sutis de perspectiva causam no nmero pares de
caractersticas visuais em diversas situaes.....................................................................................................5-63
Figura 5.6: Exemplo de resultado da travessia de porta, baseado na distncia entre caractersticas no eixo X. .566
Figura 6.1: Fluxo ptico. esquerda, um exemplo do trabalho de Sokolov et al., (2010). direita, o fluxo
estimado atravs do OpenSURF.........................................................................................................................6-68

1 Introduo
Com o avano acelerado da tecnologia nas ltimas dcadas a robtica tem atrado
crescente ateno de pesquisadores, empresas, investidores e do pblico consumidor em geral.
De fato, um campo da tecnologia que oferece diversas possibilidades de aplicao, e
conforme desenvolvimentos tecnolgicos tornam possveis avanos na robtica, naturalmente
as atenes tm se voltado para a rea. Atravs da pesquisa cientfica e da engenharia, o ser
humano sempre buscou tcnicas e ferramentas que trouxessem eficcia, eficincia e segurana
para a realizao de suas tarefas. Portanto, a perspectiva de robs ou mquinas que possam
trabalhar autonomamente, com pouca ou nenhuma interveno humana, uma ideia atraente e
atual, e devido ao grande interesse e investimento em projetos e solues na rea, a robtica j
est profundamente inserida em muitos setores da sociedade, em aplicaes comerciais e
industriais. Ramos da cincia e tecnologia que se relacionam com esta rea incluem a
mecnica, engenharia eltrica e eletrnica e a computao.
Apesar de sua popularizao acelerada, a robtica uma cincia relativamente recente.
difcil apontar uma data para o surgimento da robtica, j que a prpria definio de o que
constitui um rob possui diferentes verses. Apesar disso, mquinas que podem ser
consideradas totalmente autnomas, com algum tipo de propsito inteligente, s surgiram em
meados do sculo XX, sendo que o primeiro rob industrial, o Unimate, foi introduzido em
1961, na forma de um brao robtico de quase duas toneladas que obedecia a seqncias de
comandos gravados para tarefas repetitivas e perigosas1.
Robs como o Unimate (Figura 1.1), cujas tarefas pouco exigiam em termos de ao
inteligente, no requeriam caractersticas muito elaboradas de hardware. Desde ento, houve
grande evoluo, e hoje existem novas aplicaes para robs que necessitam de alto poder de
processamento, software adequado e hardware robusto, com sensores elaborados e atuadores
precisos, frequentemente embarcados em robs de tamanho muito reduzido, para atender a
aplicaes cada vez mais desafiadoras.

http://www.prsrobots.com/unimate.html, acesso em 01/2012


-1-

Figura 1.1: Exemplo de um brao robtico Unimate (Robot Hall of Fame).

Apesar de ser classificado como um rob, o Unimate era apenas um brao mecnico
que repetia comandos pr-estabelecidos. O rob era pouco mais que uma ferramenta sem
inteligncia e capacidade de tomar decises. Aos poucos, porm, juntamente com a evoluo
da computao, evoluiu o conceito de rob inteligente, que o rob que incorpora elementos
que o capacitam a perceber e interagir com o ambiente. Robs capazes de locomover-se e
explorar o ambiente surgiram, com habilidades que procuram emular o que pode ser
alcanado pela inteligncia humana.
Robs bpedes, por exemplo, como o Asimo da Honda (Figura 1.2), que capaz de
reconhecer faces, comandos de voz e at correr, requerem atuadores mecnicos precisos para
manterem-se em p, alm de sensores de equilbrio como os acelermetros ou giroscpios,
integrados por um sistema de controle que deve operar praticamente em tempo real para evitar
uma queda. Robs como o Spirit e Opportunity, enviados a Marte, precisam de autonomia
suficiente para passar um longo tempo sem manuteno ou troca de baterias, e exigem uma
interface de comunicao potente que funcione a grandes distncias. Atravs desses exemplos
possvel notar a importncia da autonomia na robtica mvel, j que estes robs devem ser
independentes o suficiente para tomar decises de forma rpida e sem interveno humana,
em contraste com muitos robs industriais e de linhas de montagem. Nestes casos mais
recentes, j se pode falar em comportamento robtico, e todos estes avanos so
indissociveis dos grandes avanos do potencial dos computadores e das tecnologias que estes
robs utilizam.
Campos como a Inteligncia Artificial exploram maneiras de possibilitar que
computadores e robs repliquem ou emulem o comportamento humano ou animal, com
capacidade de raciocnio, abstrao, associao de conceitos, entre outras habilidades.
-2-

Enquanto inteligncia um conceito difcil de definir, a cincia tem proporcionado avanos


significativos neste sentido.

Figura 1.2: Rob humanide Asimo, desenvolvido pela Honda2.

A robtica mvel uma das sub-reas da robtica, e relaciona-se a robs que no so


fixos, mas podem se deslocar em relao ao ambiente, de modo tele-operado, semi-autnomo
ou totalmente autnomo. Esta uma aplicao de grande abrangncia, e referente a robs que
podem navegar tanto em ambientes terrestres como aquticos e areos. A robtica mvel
oferece grandes perspectivas para aplicaes no futuro, e robs mveis j tm sido aplicados
na indstria, com pesquisas e projetos tambm em atividades agrcolas (Ollis e Stentz, 1997),
militares3 ou mesmo robs domsticos4.

http://asimo.honda.com, acesso em 01/2012.


http://www.washingtonpost.com/wp-dyn/content/article/2011/01/01/AR2011010102690.html, acesso em
01/2012.
4
http://www.irobot.com/, acesso em 01/2012.
3

-3-

Recentemente, temos visto avanos no desenvolvimento de veculos capazes de navegar


autonomamente. Um marco digno de nota o DARPA Grand Challenge de 20055, evento
organizado pelo DARPA (agncia de pesquisas do Departamento de Defesa dos Estados
Unidos); no evento, carros autnomos competiram navegando um percurso de 11.78 km no
deserto. Cinco veculos completaram a prova, e o evento obteve resultados gerais muito
superiores aos da edio do evento no ano anterior. Em 2007 ocorreu o DARPA Urban
Challenge, um evento semelhante, no qual o percurso consistia de um ambiente urbano
simulado. Investimentos concentrados em viabilizar veculos autnomos em aplicaes
prticas e comerciais esto sendo realizados por empresas como Google6 ou BMW7.
Aplicaes de robtica mvel crticas como estas demonstram os desafios que a robtica
mvel enfrenta; os robs precisam de respostas rpidas e precisas, em ambientes dinmicos e
altamente complexos, em situaes sensveis a contexto e muitas vezes imprevisveis.
Sistemas assim exigem robs seguros, resistentes a falhas e capazes de realizar interpretaes
corretas do ambiente.
No Brasil, a relevncia da Robtica Mvel pode ser percebida quando se considera
iniciativas como a do INCT-SEC, o Instituto Nacional de Cincia e Tecnologia em Sistemas
Embarcados Crticos8, em cujo contexto de pesquisa se insere este trabalho. Um dos objetivos
primordiais do instituto justamente o desenvolvimento de veculos autnomos para uso em
reas estratgicas. Uma das frentes de pesquisa do INCT-SEC consiste do desenvolvimento
de Veculos Areos No Tripulados (VANTs). Outro grupo de trabalho visa o
desenvolvimento de um veculo terrestre autnomo, capaz de auxiliar e assegurar o motorista
contra falhas humanas ou situaes de risco, ou direo assistida (Tnnis et al., 2008), ou
realizar a conduo do carro de forma autnoma. Finalmente, um dos grupos de trabalho
aborda o desenvolvimento de um rob ttico para monitoramento e segurana de ambientes
internos (como prdios, instalaes civis ou militares), visando ainda compor esquadres para
execuo dessas tarefas em conjunto, de forma colaborativa e ordenada com outros robs.
Individualmente ou em esquadres, esses robs podem realizar o monitoramento do ambiente,
5

http://www.scientificamerican.com/article.cfm?id=innovations-from-a-robot-2006-01&sc=I100322, acesso em
01/2012.
6
http://www.nytimes.com/2010/10/10/science/10google.html?ref=science, acesso em 01/2012.
7
http://www.autoblog.com/2012/01/26/bmw-takes-its-autonomous-5-series-onto-the-autobahn/, acesso em
01/2012.
8
http://www.inct-sec.org/, acesso em 01/2012.
-4-

deteco e reao a incidentes como invases ou situaes de perigo como focos de incndios
(Pessin, 2008). A navegao com robs de menor porte tambm pode ser aplicada em tarefas
de navegao em regies desconhecidas, de difcil acesso ou onde haja perigo ao ser humano.
O projeto de pesquisa desta dissertao de mestrado se enquadra principalmente no
ltimo grupo, sendo uma aplicao voltada para robtica mvel em ambientes internos. Os
resultados obtidos, porm, podem ser facilmente aplicados nas outras duas frentes de trabalho
(VANTs e Veculos Autnomos Terrestres). Portanto este trabalho est contextualizado junto
s atividades do INCT-SEC, que tm sido desenvolvidas junto ao LRM (Laboratrio de
Robtica Mvel do ICMC-USP), onde as aplicaes citadas anteriormente servem de
motivao e demonstram a importncia do presente trabalho.

1.1 Motivao
A viso um dos principais sentidos do ser humano. A riqueza das informaes
oferecidas pela viso imensa. O ser humano no possui um rgo de sentido que se possa
considerar equivalente a um sensor laser ou sonar, que estimam distncias pela reflexo de
ondas no ambiente (como possuem os morcegos, ou baleias), no entanto pode realizar feitos
parecidos e ainda outros com o sentido da viso. O ser humano capaz de perceber distncias,
reconhecer elementos de uma cena, perceber movimento, cores e texturas e solucionar
problemas extremamente complexos e variados de localizao e navegao atravs da viso,
utilizando informaes visuais obtidas por seus olhos (viso estereoscpica). Na realidade,
mesmo usando apenas um dos olhos e associaes semnticas e contextuais, o crebro
humano capaz de realizar reconhecimentos praticamente instantneos e avaliaes corretas
de profundidade a partir da viso9 (Oliva e Torralba, 2007).
Entre as habilidades cognitivas que o sistema visual humano permite, possvel citar a
capacidade de lembrana de um trajeto previamente percorrido ou o reconhecimento de um
rosto familiar atravs do uso da memria visual. Esta capacidade cognitiva extremamente
robusta a deformidades, e efeitos semelhantes podem ser identificados em muito outros
animais. At mesmo abelhas so capazes de realizar essa tarefa com proficincia (Vladusich
9

http://webvision.med.utah.edu/book/part-viii-gabac-receptors/perception-of-depth/, acesso em 01/2012.


-5-

et al., 2005), memorizando sinais como rvores, acidentes geogrficos e orientando-se pela
posio do Sol (Von Frisch e Seeley, 1993)
A computao da informao visual e de seu contedo muitas vezes exige grande poder
de processamento. A evoluo tecnolgica dos computadores, porm, tem permitido o avano
das pesquisas em viso computacional, que o uso de mtodos computacionais envolvendo
imagens (Forsyth e Ponce, 2003; Ballard e Brown, 1982). O grande potencial da informao
visual faz com que a viso computacional e sua aplicao na robtica mvel sejam campos
convidativos a serem exploradas de forma mais detalhada. A robtica mvel busca com
frequncia inspirao nos seres vivos, portanto natural explorar uma analogia entre a viso
em robs mveis e o sentido da viso animal. Diversas abordagens existem para simular a
capacidade humana de guardar, reconhecer e relembrar informao visual. Entre elas, existem
os mtodos para extrao de pontos de referncia de imagens, que surgiram com detectores de
caractersticas distintas como bordas e cantos, e evoluiu para mtodos bastante robustos que
escolhem pontos de referncia estveis, ou seja, que possam ser identificados mesmo com
alteraes na cena em questo. Enquanto o funcionamento da cognio humana ainda no foi
completamente compreendido, existem teorias (Ross e Oliva, 2010) que defendem que a
memria visual humana e reconhecimento de cenas envolvem a seleo de pontos de
referncia e atributos globais robustos da cena de forma semelhante a estes mtodos
computacionais.
No menos relevante o fato de que sensores como cmeras de vdeo so muito baratos
em relao a outros sensores tambm usados em pesquisas com robs mveis como lasers do
tipo LIDAR (Light Detection And Ranging). Existem, claro, tipos diversos de cmeras com
particularidades, qualidade e custo diferentes, mas fato que na atualidade cmeras
fotogrficas ou de vdeo so to acessveis que so acessrios comuns embarcados em
telefones celulares e notebooks. Mesmo cmeras simples apresentam qualidade satisfatria
para algumas aplicaes. Por estas caractersticas, as cmeras so sensores de relevncia
inestimvel para a robtica mvel. O uso deste tipo de sensor essencial para que a robtica
possa se tornar cada vez mais ubqua, comercialmente vivel e acessvel a uma grande
quantidade de pessoas.
Este trabalho , portanto, motivado pela possibilidade da adoo do uso de cmeras de
vdeo como principal sensor no rob, de modo a dispensar equipamentos caros em favor de
-6-

dispositivos comuns e de baixo custo, que possam eventualmente ser usados em aplicaes
cotidianas. Pretende-se tambm explorar a analogia entre sistemas detectores e descritores de
caractersticas e a viso humana, e o trabalho busca demonstrar uma aplicao prtica da
robtica mvel, desenvolvendo um sistema til em uma situao real de navegao autnoma
de ambiente interno.

1.2 Objetivo
O objetivo deste trabalho foi a proposta, pesquisa, projeto e desenvolvimento de um
sistema robtico mvel autnomo capaz de realizar localizao utilizando como principal
sensor uma cmera de vdeo monocular. O sistema deveria ser geral o bastante para localizarse globalmente com a cmera de forma independente de contexto, e no ser excessivamente
custoso em termos de processamento realizado em tempo de execuo. A proposta envolvia
tambm testar o sistema em um conjunto de imagens possvel de ser encontrado em uma
aplicao prtica. Para estes fins, foi escolhido um mtodo de extrao e descrio de pontos
distintos, ou caractersticas visuais distintas (em ingls, features) para localizao. Buscou-se
avaliar se o mtodo robusto o suficiente, em relao possvel aplicao em um sistema de
patrulha de ambientes internos atravs de uma rota pr-determinada.
O projeto inspira-se no modo como uma pessoa usualmente se localiza em um ambiente
onde j esteve previamente, reconhecendo elementos presentes neste ambiente que o
caracterizam e servem de referncia. Assim, a localizao foi baseada em uma "memria
visual" de lugares que definem trajetrias a serem novamente percorridas. Atravs da
aquisio prvia de imagens espacialmente relacionadas, que definem uma trajetria e o
espao onde o rob pode se encontrar, procura-se identificar pontos de referncia para
localizao associando as imagens da memria com a imagem atual percebida pelo rob.
Mtodos chamados detectores-descritores de caractersticas de imagens podem ser
usados para realizar esta associao de imagens atravs de caractersticas visuais distintas.
Sabemos que o pareamento destes pontos de referncia entre imagens (ou frames) permite que
o rob identifique objetos ou cenrios previamente conhecidos no ambiente, mesmo com
mudanas de perspectiva, iluminao, rotao e diversas outras perturbaes. Atravs do uso
-7-

do popular mtodo SURF, ou Speeded Up Robust Features (Bay et al., 2008), para deteco e
descrio de caractersticas, espera-se que ao identificar uma mesma cena corretamente a
partir de duas perspectivas ou escalas diferentes, o melhor nmero de pareamentos positivos
(em ingls, matches) seja maior quando as perspectivas das imagens sejam mais prximas.
Chamaremos pareamentos positivos simplesmente de pares. Este trabalho se prope a utilizar
essa relao e aplicar a diferena no nmero de pares entre diferentes perspectivas de uma
mesma cena como critrio para escolher a imagem que melhor representa a localizao do
rob em relao a uma cena, alm de determinar a preciso de tal mtodo. O trabalho tambm
prope um mtodo alternativo para eleio da melhor imagem alm do nmero de
pareamentos. Em perspectivas mais prximas, os pareamentos em geral esto espacialmente
mais prximas em suas respectivas imagens. O trabalho pretendeu testar este critrio
alternativo em comparao ao nmero de pareamentos. Ambos os critrios so
exemplificados na Figura 1.3.
Para testar esta proposta, o sistema de localizao e navegao descrito foi projetado
utilizando apenas os resultados do mtodo SURF com uma cmera monocular e a informao
do sensor de odometria para estimativa de localizao. O trabalho tambm estudou uma
possvel configurao do sistema com mais uma cmera acrescentada ao conjunto, visando
avaliar os benefcios da adio do sensor em situaes difceis. O exemplo usado foi a
travessia de portas, um desafio comum em ambientes internos, que exige preciso.
A tarefa de navegao interna aplica-se pesquisa do INCT-SEC relacionada a robs
mveis de pequeno porte para ambientes internos. Para o trabalho proposto, o ambiente foi
considerado imutvel, e a patrulha foi definida como o percurso de um caminho prdeterminado, pelo qual o rob j passou anteriormente, conduzido por um ser humano em
uma volta de gravao onde o rob pode gravar imagens do ambiente e a odometria
associada. Acredita-se que o requisito de que haja um percurso prvio pelo ambiente seja uma
exigncia razovel, possvel de se realizar na maioria das situaes prticas de patrulha de
instalaes internas.

-8-

Figura 1.3: Exemplos de pareamento entre imagens. Perspectivas mais prximas geram mais pares de pontos, e
os pares so mais alinhados horizontalmente.

Em resumo, seguem listados os principais objetivos especficos desta dissertao de


mestrado:
- Pesquisa e desenvolvimento de um sistema eficiente de localizao e navegao
atravs apenas de informao visual e odometria;
- Teste da capacidade de localizao de um rob atravs da avaliao dos resultados de
pareamento do mtodo SURF atravs de dois critrios, comparao do nmero de
pareamentos e distncia entre os pontos pareados;
-9-

- Desenvolvimento de uma aplicao do sistema voltada para patrulha de ambientes


internos, para tarefas de monitoramento e segurana;
- Validao atravs de simulaes e testes em ambientes internos.

1.3 Estrutura da Monografia


O contedo dos captulos seguintes desta dissertao pode ser dividido da seguinte
maneira:
Captulo 2: trata de fundamentos e de bases tericas da robtica, especificamente da
robtica mvel e das tcnicas de localizao, controle e navegao de robs autnomos.
Captulo 3: aborda a rea de processamento de imagens, introduzindo o assunto e
descrevendo o mtodo SURF e alguns dos outros mtodos importantes relacionados
extrao de pontos de referncia e deteco de elementos relevantes de uma imagem, e suas
aplicaes na navegao robtica.
Captulo 4: descreve as ferramentas e mtodos que foram usadas no desenvolvimento do
projeto proposto, com detalhes do desenvolvimento.
Captulo 5: apresenta os resultados dos testes e concluses que podem ser obtidas a
partir destes.
Captulo 6: avalia os resultados obtidos, discute outras abordagens que podem ser
utilizadas para aperfeioar os mtodos e seus efeitos esperados, e possibilidades de trabalhos
futuros.

- 10 -

2 Robtica Mvel
Um rob mvel pode ser considerado um agente inteligente autnomo, dotado de
sensores e atuadores. Sendo um agente, o rob pode interagir com o meio ambiente, ou seja,
realizar aes sobre este. No apenas isso, mas um rob realmente inteligente deve levar em
conta sua capacidade de percepo do ambiente e de seu prprio estado para tomar decises
sobre suas aes. Isso resulta, portanto, em um ciclo que envolve a percepo do ambiente,
tomada de deciso atravs de um sistema de controle inteligente, realizao de ao e
finalmente a percepo da nova configurao do ambiente aps a ao (Figura 2.1). Essa
estrutura rege toda a interao entre o agente e o ambiente que o cerca, para qualquer que seja
a funo desempenhada. Podemos perceber da a importncia dos sensores e atuadores, e
tambm do algoritmo de controle embarcado no rob.

Figura 2.1: O ciclo de percepo e ao do rob.

- 11 -

2.1 Sensores e Atuadores

O retorno, ou feedback, que o rob recebe do ambiente, obtido atravs dos sensores.
Um sensor pode ser definido como um dispositivo que realiza uma medida no ambiente, e
fornece o resultado. O sensor laser, por exemplo, realiza uma medida de distncia atravs da
emisso de um feixe de lasers, retornando o valor numrico da distncia medida por cada raio
emitido em uma unidade apropriada. Alm do laser, sensores modernos frequentemente
usados na robtica mvel incluem cmeras de vdeo, sistema de GPS (Global Positioning
System), sensor de iluminao, de contato (como bumpers), infravermelho, sonar, sensores
inerciais (giroscpios e acelermetros), etc. Alm destes sensores externos (tambm
chamados de exteroceptivos), existem os chamados sensores proprioceptivos, que se referem
capacidade do rob de perceber seu prprio estado (Bekey, 2005). Em um veculo, por
exemplo, pode-se citar entre sensores proprioceptivos comuns o medidor de odometria,
medidor de combustvel ou bateria, contador de giros, entre outros.
O sensor adequado depende do objetivo do rob, ou da tarefa que se deseja realizar.
Sensores como o sonar, o laser e o LiDAR (Light Detection and Ranging, um tipo de sensor
laser) so chamados de sensores de distncia (ou sensores de range), pois fornecem
diretamente medidas de distncia entre o emissor e obstculos, mas possuem alcance limitado.
So amplamente difundidos e muitos oferecem medidas de distncia com alta preciso.
Enquanto isso, por exemplo, sensores como a IMU (do ingls, Unidade de Medida Inercial)
podem ser teis para aeronaves autnomas manterem sua orientao em relao ao solo, caso
no qual o sensor laser seria de pouca valia.
Os sistemas de viso podem ser teis em diversas aplicaes. Em relao aos
exemplos citados, sensores visuais podem ser usados para detectar obstculos e estimar
distncias com cmeras estreo (Bankman, 2006; Mendes e Wolf, 2011), da mesma forma
que o crebro humano capaz de ter noes de profundidade atravs da diferena na imagem
captada por cada um dos olhos. Cmeras estereoscpicas promovem robustez por redundncia
de informaes (Jones et al., 1997). Em certos contextos, a profundidade pode ser calculada
at mesmo com cmeras monoculares (Delage et al., 2005). Sensores visuais tambm podem
ser usados em veculos areos para estimativa de movimento e orientao em relao ao

- 12 -

horizonte (Dusha et al., 2007; Todorovic, et al., 2003). Cmeras omnidirecionais so


alternativas interessantes por proverem ngulos de observao amplos, facilitando a
localizao de marcos no ambiente e tornando possvel manter elementos de interesse no seu
campo de viso mais facilmente. Ainda assim, configuraes estreo de cmeras necessitam
de calibrao precisa, e cmeras omnidirecionais so itens mais especializados e custosos que
cmeras monoculares. Com o aperfeioamento de mtodos e tcnicas que faam uso
inteligente da riqueza de informaes provida, cmeras monoculares tm se mostrado uma
opo vivel na prtica.
importante destacar que sensores no so dispositivos perfeitos, e possuem erros
associados s medies, que fazem com que os dados observados nem sempre correspondam
exatamente ao valor real. Podem ocorrer desvios de medida causados pelo truncamento do
valor medido (devido resoluo mxima limitada do sensor ou no processo de digitalizao
do valor observado) ou mesmo imperfeies na deteco. Devido natureza suscetvel a erros
dos sensores, possvel tambm que os erros das leituras no sejam uniformemente
distribudos (o sensor possui um vis), ou mesmo que as faixas de erro sejam variveis, como
no caso do GPS, em que o erro das medies depende do nmero de satlites rastreados pelo
aparelho, altitude e obstculos fsicos, de acordo com experimentos realizados no Laboratrio
de Robtica Mvel do ICMC (LRM - ICMC) por Gustavo Pessin. A aplicao deve ser
considerada para desenvolver um controle inteligente que incorpore esses erros na tomada de
decises. O erro pode ainda ser relativo a cada medida especfica de maneira pontual, ou
cumulativo. Um exemplo clssico de sensor com erro cumulativo o sensor de odometria,
que mede a distncia do deslocamento do rob e os ngulos de suas curvas medindo o giro e
orientao das rodas e eixos. Neste caso, o erro de uma medio somado aos erros de
medies anteriores, o que, mesmo em um sensor sem vis maior, faz com que o erro em
relao origem aumente conforme a distncia percorrida aumenta. A odometria por si s
pouco utilizada por essa razo. habitual na robtica, portanto, que outros sensores sejam
considerados juntamente com a odometria para corrigir o erro odomtrico, e de fato, muitos
trabalhos de pesquisa utilizam essa tcnica (Siegwart e Nourbakhsh, 2004).
A fuso de sensores uma prtica comum, e no s em relao odometria. A fuso
de sensores consiste da obteno de leituras do ambiente atravs de mais de um tipo de
sensor, e da combinao dos resultados adquiridos visando compensar deficincias de cada
- 13 -

sensor e tirar proveito de uma maior quantidade de informao. Tem-se deste modo uma
melhor aferio do ambiente, assim como a percepo humana consiste de um conjunto de
informaes de diversos sentidos, e no apenas de um. necessrio que haja um sistema de
controle que considere essas informaes e utilize as informaes obtidas de maneira
integrada, como em (Sim e Dudek, 2003) e (Kidono et al., 2002).
Os atuadores, por sua vez, so os dispositivos atravs dos quais o rob realiza aes
sobre o ambiente e altera seu prprio estado. Em robs mveis terrestres, os atuadores mais
comuns so os motores e rodas do rob, embora existam muitos robs que se movimentem
com pernas mecnicas, esteiras, ou mesmo propulsores, turbinas e hlices. O conhecimento
dos atuadores do rob importante para projetar um sistema que considere as limitaes e
possibilidades do rob, j que atuadores tambm podem apresentar imprecises. De especial
importncia para a locomoo do rob o conhecimento do modelo cinemtico e dinmico do
rob, que descreve sua trajetria e seus movimentos.
No caso de robs mveis terrestres, possvel classificar os robs em holonmicos e
no-holonmicos. Robs holonmicos so robs que podem se movimentar livremente sobre
seu prprio eixo, realizando rotao e mudanas de orientao sem precisar se deslocar
(Dudek e Jenkin, 2000). Este um conceito comumente aplicado a robs mveis, mas que
tambm pode se referir a um brao mecnico, por exemplo. Robs no-holonmicos, por
outro lado, no possuem essa liberdade, e precisam se deslocar para virar (Laumond, 1986).
Um automvel como um carro o exemplo clssico de um veculo no-holonmico, que s
pode se deslocar no sentido em que seus eixos esto alinhados. Para alterar sua orientao, o
veculo precisa mover suas rodas, alterando a direo do eixo normal a elas, e ento se
deslocar. Essa geometria conhecida como cinemtica de Ackerman, ou Ackerman steering
(Osrio et al., 2009). Em robs no-holonmicos, preciso considerar a distncia em relao
a obstculos e o vetor velocidade do rob para que a navegao possa evitar obstculos
adequadamente. Como esta cinemtica replica o funcionamento de veculos tradicionais, seu
estudo de grande interesse, e trabalhos que exploram navegao de um automvel autnomo
incorporam as restries deste modelo no planejamento de trajetria.

- 14 -

2.2 Mapas e Localizao

Muitas tarefas mais elaboradas de robtica mvel requerem o uso de um mapa, alguma
ferramenta que oferea informaes ao rob sobre o ambiente alm do alcance instantneo de
seus sensores, e atravs da qual o rob possa conhecer sua posio relativa. Para ir de um
ponto A (origem) para B (destino) necessrio que o rob saiba onde est e onde est seu
objetivo. Assim, para que o controle da navegao possa ser realizado, necessria a
determinao da localizao do rob, e portanto, pressupe-se o uso de algum tipo de mapa
ou referncia que permita manter este controle da posio atual e do destino a ser alcanado.
No pode haver planejamento global de trajetria sem que haja um conhecimento do ambiente
que se estenda alm das redondezas imediatas do rob. O mapa uma forma de descrio do
ambiente, uma ferramenta que permite que o rob tenha conhecimento do perfil da rea.
Existem diversas tcnicas de navegao robtica em que o prprio rob realiza o mapeamento
do ambiente (Bonin-Font et al., 2008), e inclusive mtodos para que o rob possa mapear o
ambiente e se localizar ao mesmo tempo, como o SLAM10, ou Simoultaneous Localization
and Mapping (Leonard e Durrant-Whyte, 1991).
O uso de um mapa de pouca valia se o rob no souber onde est localizado no
ambiente para que possa planejar sua trajetria. Logo, a determinao e a manuteno de
informao sobre a pose do rob no ambiente so elementos importantes para sistemas de
controle de navegao mais complexos. Define-se a pose do rob no necessariamente
somente como sua posio, mas tambm sua orientao, e em alguns casos at o estado de
outros atuadores.
J mencionamos o erro cumulativo intrnseco da odometria. Uma das solues
amplamente utilizadas para corrigir o erro incrementalmente associar informaes provindas
de outros sensores ao odmetro para aumentar a preciso da localizao (Thrun, 1998)
(Siegwart e Nourbakhsh, 2004). O uso conjunto de sensores, como a cmera ou o laser, e o
odmetro, permite que as observaes atuais e as passadas sejam usadas para se estimar as
possveis posies do rob. Utilizando mtodos desse tipo, com informao suficiente o rob
pode se localizar com alto grau de certeza. Em geral, as percepes passadas so os prprios
10

http://www.cas.kth.se/SLAM/slam-papers.html, acesso em 01/2012.


- 15 -

mapas em si. Com isso, essencial que os mapas no contenham erros para evitar falhas no
processo de localizao. De uma forma geral, o problema de localizao pode ser classificado
em dois principais tipos (Thrun et al., 2005):
- Rastreamento da Posio (Position Tracking): Neste problema, considera-se que a
posio inicial do rob em relao ao mapa (posio global) conhecida. Com isso, o desafio
consiste em determinar localmente a posio do rob enquanto ele se desloca e mant-la,
levando-se em conta a localizao prevista pelo movimento, com o tratamento de erros dos
sensores de odometria acumulados. Em geral, o position tracking um mtodo iterativo,
baseado em pequenos e constantes incrementos estimativa de posio. Com uma frequncia
suficiente de incrementos, pressupe-se que esses erros sejam pequenos entre cada iterao.
Para controlar o erro odomtrico, um sensor como a cmera pode ser usada para ajustar a
posio do rob. Se com esta fuso de sensores o erro de odometria puder ser anulado (ou ao
menos limitado) a cada iterao, ele no sair do controle. Os erros de posio normalmente
podem ser aproximados por uma distribuio unimodal.
- Localizao Global (Global Localization): Ao contrrio do position tracking, nos
problemas que envolvem localizao global no se conhece a posio inicial do rob no
mapa. Dessa forma, procuram-se estratgias para obter a localizao global do rob,
considerando-se como no caso anterior, a possibilidade de erros na estimao da posio. Na
localizao global usualmente busca-se determinar qual a posio atual do rob em relao
a todo o mapa (toda a rea til onde este possa estar localizado).
Tambm vale mencionar o que referenciado na literatura como o problema do rob
sequestrado (kidnapped robot problem). Este na realidade um caso particular da localizao
global. No caso geral da localizao global, possvel que o rob tenha acesso a informaes
anteriores perda de localizao, mas no problema do rob sequestrado o rob no possui
informao alguma sobre sua posio antes do incio da execuo (Choset et al., 2005).
Assume-se que o rob poder de um instante para outro ser levado para outro lugar por
influncias externas, sem que seus sensores percebam, ou que ele possa ser ativado em um
local qualquer do ambiente. Por causa disso, o rob dever reconhecer quando a sua posio
foi alterada, para que ele possa novamente calcular a sua referncia no mapa. A anlise deste
problema importante para localizao inicial do rob quando ele inicializado em uma
posio completamente desconhecida no ambiente, ou para que o rob possa se recuperar de
- 16 -

situaes durante a navegao onde ocorre falha no rastreamento de posio para manter sua
localizao local (quando o ambiente observado no corresponde ao esperado).
Existem tcnicas variadas para estimativa de posio, gerais ou especficas, simples ou
complexas. Em relao aos mtodos de localizao global, muitos focam no uso de mtodos
estatsticos (Thrun et al., 1999). Entre eles destaca-se o uso do Filtro de Kalman, mtodos de
Monte Carlo (Dellaert et al., 1999) e processo de Markov (Fox et al., 1999).
Seja pelo uso de um mapa da regio criado pelo prprio rob em uma tarefa de
mapeamento, ou seja, atravs de mapa conhecido previamente, o uso de mapas pode ser de
grande auxlio para a navegao e localizao, mesmo considerando que aplicaes como o
SLAM utilizam mapas incompletos, com erros ou com elementos desconhecidos. Sendo uma
representao de um ambiente muitas vezes dinmico e imprevisvel, o mapa est sujeito a
no ser uma representao completamente fiel da realidade. Os algoritmos de mapeamento,
localizao e controle devem ser robustos para incorporar tais diferenas, e muitas vezes
serem capazes de incorporar o dinamismo e as alteraes do ambiente ao mapa como em
(Wolf e Sukhatme, 2003).
Muitas aplicaes procuram resolver estes mesmos problemas atravs do uso de
cmeras. No mbito da localizao local, podemos citar tcnicas de visual servoing (Kragic e
Christensen, 2002) e fluxo ptico (Horn e Schunck, 1993; Lucas e Kanade, 1981). Cmeras
tambm podem ser aplicadas em tcnicas de mapeamento, por exemplo, na reconstruo
tridimensional de ambientes ou objetos11 (Moravec, 1988; Wooden, 2006; Saxena et al.,
2007). Aplicaes prticas de mtodos gerais de deteco de caractersticas como o SURF
podem ser vistas em (Chen et al., 2007), um sistema com uma implementao de SURF para
celulares capaz de detectar marcos previamente memorizados do ambiente. Entre trabalhos
envolvendo localizao e mapeamento simultneo (SLAM) baseados em viso podemos citar
(Kaess e Dellaert, 2009) e (Sim et al., 2006; Sim e Little, 2006). Mapas formados por
composies de fotografias do ambiente ou por sequncias de imagens tambm so usados.
Existem muitos tipos de mapas, e atravs do uso de um mapa apropriado aplicao e
aos sensores, aperfeioa-se o conhecimento do rob em relao ao ambiente. Muitos mapas
apresentam informaes semnticas, associando significado e funo aos elementos no mapa,
para que o rob possa interagir com esses elementos de maneira lgica e contextualizada. O
11

http://homes.esat.kuleuven.be/~visit3d/webservice/v2/, acesso em 01/2012.


- 17 -

conhecimento semntico permite ao rob nveis mais elaborados de autonomia e


planejamento (Calisi et al., 2007).
Em relao a robs na forma de veculos terrestres, o mais comum o uso de mapas
bidimensionais (2D), aplicaes em terrenos externos acidentados podem considerar o relevo
do ambiente, mas em reas internas pode ser desnecessrio. No caso de veculos areos e
aquticos/submarinos, raramente possvel ignorar qualquer uma das trs dimenses do
espao. Isto adiciona uma carga extra de complexidade a esses tipos de aplicao. Nesse caso,
comum o uso de mapas tridimensionais (3D).
Existem diversas formas de representar o ambiente atravs de um mapa. Na robtica
mvel, possvel citar dentre estes os tipos de mapa dignos de nota:
- Mapas mtricos: definem o ambiente por um sistema nico de coordenadas, baseado
na representao de distncias em escala;
- Mapas topolgicos: o mapa topolgico, em contraste com o mapa mtrico, no
contm informao geomtrica ou geogrfica, mas um mapa qualitativo que representa o
ambiente atravs de locais determinados distintivamente e como estes se conectam
relativamente uns aos outros. Desta forma, um grafo pode representar o mapa topolgico de
algum lugar. Em geral esse tipo de mapas no apresenta distncias absolutas ou coordenadas.
Pode ser representado muitas vezes por um grafo, e tambm chamado de mapa qualitativo
(Kortenkamp et al., 1988). Mapas topolgicos so simples e compactos, menos custosos
computacionalmente e so apropriados para navegao qualitativa de longa distncia e
planejamento de trajetria (DeSouza e Kak, 2002; Sales et al., 2011);
- Mapas em grid de ocupao: uma variante especfica do mapa mtrico, o
mapeamento por grade de ocupao (ou occupancy grid) (Elfes, 1989; Moravec, 1988)
baseia-se na decomposio do espao 2D ou 3D em vrias clulas independentes, sendo que
cada clula possui uma estimativa probabilstica do seu estado (e.g. h 90% de probabilidade
de o rob estar localizado em determinada clula);
- Mapas sensoriais: so basicamente mapas construdos a partir dos dados capturados
do ambiente pelos sensores, de forma crua. Podem ser, por exemplo, um mapa feito pela
combinao de nuvens de pontos capturadas por lasers ou mapas feitos pela unio de
fotografias da rea, fornecendo uma viso panormica do ambiente. O SLAM em sua forma
mais bsica produz esse tipo de mapas, mas mapas sensoriais no esto limitados a esta
- 18 -

tcnica. Um mapa sensorial pode ter sido criado previamente pelo rob, ou mesmo com o
sensor independentemente.

Figura 2.2: Exemplo de mapa mtrico (S. Thrun).

Figura 2.3: Um mapa mtrico pode ser decomposto em ns ou clulas, se tornando um mapa topolgico,
representado na figura pelo grafo (Siegwart e Nourbakhsh).

importante mencionar os diversos trabalhos baseados na integrao e uso simultneo


de diferentes tipos de mapas (Dudek e Marinakis, 2007; Bazeille e Filliat, 2009; Thrun, 1998,
Thrun et al., 1998), pois estes representam formas de se usufruir das qualidades de diferentes

- 19 -

mapas, o que implica em maior riqueza de informaes. Diferentes tipos de mapas oferecem
diferentes representaes de informao e dados diferentes, e tem custos associados
(computacional, de hardware, de complexidade). A escolha do mapa tem impacto
posteriormente na localizao e navegao.

2.2.1 Mtodos Probabilsticos Para Localizao


J foi estabelecido que a localizao autnoma do rob no ambiente tarefa de extrema
importncia. Ela precede e habilita a navegao, e um rob que no conhece sua pose em
relao ao ambiente no ser capaz de realizar tarefas mais elaboradas de movimentao ou
dependentes do contexto de uma rea especfica do ambiente. Como mencionado, se a
localizao inicial do rob for conhecida (uma base de recarga de bateria ou algum tipo de
checkpoint, por exemplo) o rob dever manter-se localizado localmente ao navegar a partir
desse ponto. Se a localizao inicial no for conhecida, existem diversos mtodos pra obter a
localizao global do rob. Uma classe de mtodos que podem ser usados para localizao
so os algoritmos de estimao probabilstica de estado. O propsito bsico destes algoritmos
recuperar as variveis relevantes de estado do rob (que consistem em geral de posio,
orientao e velocidade) ou mesmo do ambiente (para ambientes dinmicos) a partir da leitura
de dados do sensor e anlise estatstica.
O Filtro de Kalman, por exemplo, uma das primeiras implementaes do chamado
Filtro de Bayes e amplamente usado na estimativa de estado (e consequentemente, aplicvel
estimativa de localizao) (Kalman, 1960). um algoritmo geral para clculo de confiana,
ou belief, sobre as variveis de estado do rob, usando dados captados do ambiente (Thrun et
al., 2005). O Filtro de Kalman divide-se em um passo de predio e um passo de atualizao,
ou correo das medidas, e um filtro com diversas aplicaes de controle em muitos ramos
da engenharia. De maneira geral, o fluxo da aplicao do Filtro de Kalman baseia-se na
estimao do estado inicial, a estimao (ou predio) de um novo estado resultante de uma
ao de controle, e finalmente a atualizao deste estado predito a partir de uma nova
observao. Assim, o filtro combina o estado esperado, ou predito, com o estado observado. O
filtro obtm resultados timos para sistemas lineares, com variveis com erros de mdia zero

- 20 -

e independentes entre si, mas pode funcionar quando essas hipteses no forem respeitadas, e
existem variantes e extenses do filtro (como o EKF, Extended Kalman Filter) que deixam a
optimalidade em segundo plano para acomodar melhor no-linearidades e possveis falhas de
leitura no sensor, ou mesmo para incorporar densidades de probabilidade multi-modais,
habilitando a localizao global por Filtro de Kalman (Lefebvre et al., 2001).
Outro mtodo de localizao que vem recebendo grande notoriedade o mtodo de
Monte Carlo MCL (Monte Carlo Localization) (Dellaert et al., 1999). uma variao do
mtodo conhecido como Filtro de Partculas, e baseia-se na distribuio aleatria de possveis
estados em um espao de configuraes, no caso, as reas navegveis do mapa. Cada estado
representado por uma partcula, e usado um nmero grande de partculas, fator que
influencia na preciso e velocidade de convergncia, mas tambm no peso computacional do
algoritmo. A quantidade de partculas deve ser suficiente para uma cobertura adequada do
mapa. A partir disso, cada ao de controle do rob (como movimentar-se no ambiente)
aplicada s partculas a partir do modelo estatstico de movimentao (de forma semelhante
ao que ocorre no filtro de Kalman). Alm disso, cada observao real do estado dos sensores
comparada observao das partculas (estados hipotticos). Dependendo da proximidade
entre a leitura do sensor e a leitura estimada para cada partcula, essa partcula recebe um
peso, indicando sua probabilidade (ou likelihood) de ser representativa da posio real do
rob. A partir disso, realiza-se uma nova seleo aleatria de amostras das possveis
configuraes, desta vez levando-se em conta os pesos das partculas. Quanto maior a
likelihood de uma partcula, maior a probabilidade de que ela seja escolhida novamente, o que
com o tempo acarreta na aproximao da real posio do rob, representada pela partcula
com a melhor estimativa da posio. Uma vantagem do sistema que se o rob for
transladado de sua posio ele pode se localizar de novo naturalmente, j que as partculas se
espalharo pelo mapa em selees (ou samplings) posteriores. Na Figura 2.4 temos um
exemplo visual do funcionamento de uma iterao do algoritmo de Monte Carlo.

- 21 -

Figura 2.4: O funcionamento da localizao Monte Carlo. No quadro A, a nuvem de partculas representa a
incerteza quanto posio do rob. No quadro B, o rob andou um metro para a frente. Como no sabemos sua
orientao inicial, as partculas se espalham como no crculo. No quadro C, o rob observa um ponto de
referncia prximo no canto superior direito, e a likelihood das partculas ali aumenta. O quadro D mostra as
novas partculas aps o resampling. A partir da o ciclo reinicia.

Uma conhecida e pioneira aplicao prtica do algoritmo foi realizada com o rob
MINERVA, um rob usado como guia no Smithsonian National Museum of American
History, com bons resultados (Thrun et al., 1999). O algoritmo tambm pode ser aplicado em
tcnicas de SLAM, com bons resultados (Yuen e MacDonald, 2003). O mtodo, no entanto,
possui algumas limitaes, como a j mencionada necessidade de um mapa previamente
fornecido do ambiente, que deve ser razoavelmente preciso, e a impossibilidade de se
localizar adequadamente (localizao global) em um ambiente muito dinmico.
O desafio da localizao um processo constante, que por esse motivo deve ser preciso
e eficiente. um assunto importante que est diretamente relacionado a diversas aplicaes,
sendo o foco principal deste trabalho.

2.3 A Navegao e Controle Robtico


Uma vez localizado, o rob tem os recursos necessrios para alcanar seu objetivo, mas
ainda resta a realizao do percurso. H um espectro variado de possveis solues para este
passo (Bonin-Font et al., 2008).
- 22 -

O algoritmo de controle inteligente do rob o sistema pelo qual o rob transforma a


leitura dos sensores (entrada) em concluses inteligentes sobre o ambiente e aes (sada). No
caso de um rob mvel movendo-se de um ponto A para um ponto B, a ao o
deslocamento do rob, a navegao no ambiente. A atuao de um rob no ambiente
influenciar seu estado e as leituras posteriores de seus sensores. O sistema dever incorporar
esta nova informao para tomar novas decises contextualizadas. Este ciclo, portanto, pode
ser considerado um sistema de controle em malha fechada (Castrucci e Sales, 1990; strm e
Murray, 2008). Existem inmeros mtodos e tcnicas de controle de um rob mvel para
navegao enquanto mantm a localizao, e muitas variantes dependentes de cada situao,
j que dependendo da aplicao do rob outras variveis podem estar envolvidas. Bons
resultados no controle robtico de navegao dependem do projeto cuidadoso da malha
(strm et al., 1993) e calibragem de seus parmetros cinemticos (Kmmerle et al., 2011).
Um rob mvel com alta velocidade linear no ser muito manobrvel se sua velocidade
angular no for tambm alta para ester-lo a contento, por exemplo.
Os tipos de arquiteturas de controle para robs mveis podem ser divididos em controle
reativo, controle deliberativo e controle hbrido (Szabo, 2003). No controle reativo, o rob
realiza a tomada de deciso baseando-se nas caractersticas percebidas localmente, reagindo a
obstculos ou estmulos de forma imediata. O uso isolado do controle reativo, sem qualquer
planejamento de futuros movimentos, rejeita toda a informao fora das redondezas imediatas
do rob (regio percebida pelos sensores), e assim pode restringir as possibilidades de
locomoo inteligente. H tambm o risco de que o rob caia em um mnimo local (Piaggio et
al., 1997; Luh e Liu, 2008), sem capacidade de perceber este problema, ficando muitas vezes
bloqueado neste tipo de situao. Entretanto, a importncia do controle reativo est em evitar
movimentos locais incorretos, como batidas no-intencionais em paredes ou objetos, por
exemplo, e um mtodo que em geral apresenta baixo custo computacional. importante que
o rob tenha um sistema de segurana reativo que tenha prioridade sobre o controle comum
para evitar acidentes ou quaisquer movimentos indesejados. O controle reativo tambm
bastante usado em sistemas multirrobticos ou de robtica de enxame (swarm robotics),
baseados no comportamento de colnias de insetos, para fazer emergir comportamentos
globais complexos a partir de comportamentos isolados simplificados (Parker e Zhang, 2006).

- 23 -

J aludimos ao controle deliberativo quando mencionamos a necessidade de


planejamento de trajetria em muitas aplicaes. Neste caso, o rob realiza previamente todo
o clculo necessrio de trajetria e estabelece um percurso, ou uma sequncia de aes
determinada antes da execuo. Um rob no-holonmico, sujeito ao modelo cinemtico de
Ackerman, por exemplo, necessita deste planejamento para evitar colocar-se em situaes em
que dever realizar manobras redundantes ou delicadas. Neste tipo de arquitetura de controle,
assume-se usualmente a utilizao de um mapa do ambiente pelo rob, sendo um mtodo de
controle mais custoso computacionalmente. A maior deficincia da forma de controle
estritamente deliberativa a no tolerncia a alteraes no ambiente e a presena de
obstculos no previstos. O controle reativo e controle deliberativo tambm so chamados de
mtodos locais e globais de desvio de obstculos, respectivamente (Siegwart e Nourbakhsh,
2004).
Devido s deficincias dos controles reativo e deliberativo quando adotados
isoladamente, so comuns tcnicas de controle que renam os dois controles de forma
simultnea, compondo uma arquitetura de controle hierrquica. Nas abordagens hbridas h o
planejamento global, deliberativo, e tambm o desvio de obstculos local, este ltimo
normalmente utilizado para evitar acidentes e reagir a alteraes do ambiente no previstas no
planejamento de trajetria.
A navegao pode ser definida como a escolha e o percurso de um caminho adequado
entre a posio atual de um rob e seu alvo (Choset et al., 2005). A localizao simplifica e,
muitas vezes, habilita a navegao (Thrun et al., 2005). Tarefas robticas dinmicas, que
exijam um grau de autonomia elevado, assim como tomada de deciso e tolerncia a falhas,
comumente requerem que o rob seja capaz de manter-se localizado no ambiente. O
algoritmo de navegao altamente dependente do objetivo do rob e da calibragem de
diversos parmetros de controle, e muitas vezes projetado atravs de heursticas, adaptandose do melhor modo a uma tarefa especfica. possvel citar, entre possveis tarefas que
exigem navegao, atividades como o patrulhamento, em que o rob deve percorrer de
maneira otimizada as reas de interesse, realizando um percurso cclico, tarefas como o
deslocamento ou transporte de objetos como em robs empilhadeira em armazns, ou
navegao em formao para esquadres de mltiplos robs.

- 24 -

Existem diversas tcnicas para planejamento de trajetria e para encontrar caminhos


em um mapa. Em mapas topolgicos, diretamente associados a grafos, podem ser usadas
tcnicas de busca por caminhos em grafos, das quais a mais tradicional provavelmente o
algoritmo de Dijkstra (Dijkstra, 1959). Mapas mtricos podem ser simplificados com grades
(grids) de ocupao. A partir da grade de ocupao, pode-se aplicar o algoritmo A* (A-Star
ou A-Estrela)12 ou uma de suas variantes13 como o D* (D-Estrela) (Stentz, 1995) para
encontrar caminhos timos (path finding). Alternativamente, possvel transformar o mapa
mtrico em um grafo de visibilidade (De Berg et al., 2008) e aplicar um algoritmo como
Dijkstra. O grafo de visibilidade um grafo que compe o mapa do ambiente em locais (os
ns) e os relaciona pelo critrio de visibilidade (uma aresta significa que os ns ligados tm
visada livre entre si, o que quer dizer que o deslocamento de um n para outro pode ser feito
de forma trivial e direta, sem desvio significativo de obstculos). Tcnicas como Campos de
Fora Virtuais (Virtual Force Fields) podem ser aplicadas ao mapa para direcionar a
navegao (Kim e Nevatia, 1999). Estes mtodos citados consideram a existncia de um mapa
do ambiente, e a tambm o conhecimento da localizao (pose) do rob para fins de
navegao.
Independentemente da aplicao, interessante mencionar o uso difundido de Redes
Neurais Artificiais (RNAs) (Haykin, 1999) na robtica. Buscando simular a estrutura e
funcionamento das redes neurais biolgicas, as RNAs so importantes para a robtica por
serem bastante adaptativas, capazes de detectar padres com eficcia e eficientes na resoluo
de problemas ambguos. O uso das RNAs na robtica mvel pode englobar desde algoritmos
de navegao (Shinzato, 2010; Souza et al., 2011) at algoritmos de reconhecimento de
padres de leituras nos sensores, reconhecimento de gestos ou objetos (Bonato, 2004). Alm
disso, outras tcnicas de aprendizado de mquina e lgica fuzzy so bastante usadas.
Algoritmos Genticos, que se baseiam na teoria da evoluo para comparar a qualidade de
solues, podem ser usados para encontrar solues timas para problemas em sistemas de
controle robtico cujo funcionamento (as funes matemticas que regem o sistema) muito
complexo ou desconhecido (Simes, 2000). Mtodos como estes podem ser usados para

12
13

http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html#S3, acesso em 01/2012.


http://www.policyalmanac.org/games/aStarTutorial.htm, acesso em 01/2012.
- 25 -

reconhecer situaes e elementos do ambiente, assim como para decidir a melhor ao a ser
realizada em relao a uma determinada situao.

2.4 A Alternativa dos Sensores Visuais

Como possvel notar, os mtodos e trabalhos apresentados trazem conceitos e solues


importantes para localizao. Tais mtodos so bastante focados em sistemas com sensores de
alcance, ou range, e preciso, como laser, infravermelho e sonar, devido relao direta entre
a distncia, dado facilmente obtido atravs desses sensores, e o mapa mtrico. Apesar disso,
possvel encontrar trabalhos que apliquem os mtodos descritos usando marcas de referncia
obtidas com cmeras, como a aplicao do mtodo de localizao de Monte Carlo em
sistemas com cmera usados no campeonato de futebol de robs, a RoboCup (Menegatti et
al., 2004; Heinemann et al., 2006). Em relao aos sensores de distncia, o alto erro de
medio dos sonares faz com que eles estejam caindo em desuso especialmente para
aplicaes em ambientes internos devido impreciso. O laser, por sua vez, de fato se
apresenta como uma boa soluo, a princpio, para diversas aplicaes. Existem, porm, as
dificuldades j citadas, como o alto custo do laser, e as dificuldades intrnsecas de alguns dos
mtodos expostos, tais como a possibilidade de no-convergncia. Alm disso, h o fato de
que um feixe pode atravessar obstculos intransponveis como vidros ou redes e no pode
atravessar obstculos facilmente transponveis como folhas de um ramo de rvore, e todos
estes so fatores difceis de contornar apenas com a informao de distncia. Sensores laser
tambm apresentam alto consumo de energia e sua potncia deve ser controlada para no se
tornar perigoso ao ser humano. H a alternativa do uso de cmeras de vdeo no projeto da
localizao e navegao, atravs de tcnicas de processamento e manipulao de imagens.
Muitas das tcnicas com cmeras para localizao usam cmeras estereoscpicas ou
omnidirecionais. Este trabalho porm, insere-se e concentra-se no conjunto de tcnicas de
viso e robtica com cmeras monoculares, dentre as quais possvel citar: SLAM visual
monocular (Davison et al., 2007); mtodos de reconstruo estrutural a partir de imagens
monoculares (Structure From Motion) sem necessidade de calibragem; odometria visual
monocular, onde se recupera o movimento da cmera observadora a partir da sequncia de
- 26 -

imagens obtida (Fitzgibbon e Zisserman, 1998). O uso de uma nica cmera ou de cmeras
monoculares no calibradas um desafio, mas uma abordagem de mais baixo custo e, desse
modo, realista e de grande importncia do ponto de vista comercial e prtico.

- 27 -

3 Viso Computacional e Processamento de Imagens


O processamento de imagens a rea da computao que se refere manipulao e
operaes com imagens. Ao processamento e transformao de dados de imagens aplicado
computao de forma inteligente, interpretativa, de modo a extrair informaes, novas
representaes e/ou concluses a partir dos dados da imagem, d-se o nome de viso
computacional (Forsyth e Ponce, 2003). No apenas importante na robtica mvel,
encontramos aplicaes de viso computacional em diversos tpicos da cincia, desde
sistemas de reconhecimento de movimentos ou rostos, sistemas de realidade aumentada
(Azuma, 1997), automatizao de anlise de imagens (til para grandes bancos de imagens,
como em registros de cmera de segurana), at reas interdisciplinares como a interpretao
de imagens mdicas e biolgicas.
Imagens so consideradas sinais bidimensionais. So tambm sinais no domnio
espacial, assim classificados porque sinais de imagem so variantes no espao (podendo ou
no variar com o tempo), contrastando com sinais como o som ou impulsos eltricos, que
variam no tempo (Haykin e Van Veen, 2002). Como qualquer sinal, computacionalmente
impossvel representar o sinal anlogo, que infinito, sendo que apenas imagens digitais
pertencem ao escopo deste trabalho. Imagens digitais podem ser definidas como funes
bidimensionais compostas por um conjunto de elementos finitos, os picture elements,
normalmente abreviados como pixels, que possuem localizao e valor particulares (Gonzales
e Woods, 2008). Imagens fotogrficas com caractersticas similares viso humana so as
mais comuns e de especial interesse para o trabalho, mas outras aplicaes podem evolver
imagens sintticas, omnidirecionais, imagens trmicas (ou em geral imagens representando
luz de fora do espectro visvel ao ser humano), entre outras.

3.1 Representao Digital de Imagens

Quando uma fotografia obtida atravs de uma cmera digital, em algum momento a
informao do ambiente foi transferida do formato analgico para o formato digital (a verso

- 28 -

da fotografia que pode ser visualizada em um computador ou aparelho digital). O sinal


analgico, ou a luz que incide atravs do obturador da cmera, precisa ser convertido em uma
sequncia de bits que possa ser lida por um computador. O mesmo processo necessrio
quando uma fotografia revelada de um filme de cmera analgica digitalizada. Esse
processo envolve duas etapas principais, presentes em qualquer converso A/D (analgico
para digital) em processamento de sinais: a amostragem e a quantizao (Haykin, 2002). Na
amostragem, o sinal contnuo obtido do ambiente, no caso a luz, deve ser discretizado. A
discretizao

consiste

da

diviso

do

sinal em

um

nmero

finito

de

valores

computacionalmente viveis. Em sinais de imagem, este o processo que define a resoluo


da imagem resultante, e portanto a quantidade e valor dos pixels na matriz de pixels.
A etapa seguinte a quantizao, que envolve a aproximao da faixa contnua de
valores obtidos do sinal analgico para um conjunto, ou uma escala, de valores finitos. Esse
processo determina a profundidade (depth) da imagem digital resultante, que o valor
individual de cada pixel. Um valor de quantizao comumente usado em imagens de tons de
cinza a quantizao em 8 bits. Com cada bit podendo assumir 2 valores diferentes, 0 ou 1,
temos 28 possveis nveis, ento podemos representar, no caso, 256 nveis de cinza, de 0 a
255. Via de regra, 0 e 255 representam o preto e o branco, respectivamente, com tons de cinza
entre eles. Como outro exemplo, uma imagem binria, que possui profundidade de apenas 1
bit, ser quantizada em apenas dois nveis, normalmente preto e branco. Nesse caso, apenas 1
bit suficiente para descrever o valor de um pixel, j que 21 resulta em 2 nveis possveis.
Assim, para a representao adequada de imagens na forma digital, preciso que haja um
padro, uma representao da informao dos pixels da imagem no computador, que associe a
relao entre o valor do pixel e a cor que ele representa.
Quando se trata de imagens coloridas, essa relao nem sempre imediata, e a
representao digital de cor pode ser um pouco mais complexa. A quantidade de informao a
ser representada, nesse caso, maior que em sistemas espaos de cor monocromticos.
Existem diversos sistemas que regem a representao do valor do pixel em imagens coloridas,
e a compreenso desses sistemas de grande importncia. A sensao de cor a resposta do
sistema visual humano a um estmulo causado pela incidncia de radiao eletromagntica
visvel, a luz. Existem diversos padres para representar a cor na computao, os chamados
sistemas de cores, modelos de cores ou espaos de cores. Via de regra, a representao
- 29 -

moderna de cor na computao discretiza a informao de cor em um espao de 24 bits (3


bytes). Isso nos fornece 224 nveis de cor e, portanto, o sistema permite representar 224 cores
diferentes, o que chamado de profundidade de cor de 16 megabits. Entre os sistemas mais
comumente utilizados esto:
- RGB: Talvez o mais comum espao de cores, o sistema RGB baseia-se na fisiologia da
viso humana. Determinou-se experimentalmente que o sistema de viso humano apresenta
trs tipos diferentes de clulas foto-receptoras, cada uma com sensibilidade diferente a
diferentes frequncias de luz (Wyszecky e Stiles, 1982). Para cada uma das clulas, as
frequncias que incitam a resposta mais intensa representam as cores vermelho, verde e azul.
O sistema RGB, portanto, usa as componentes vermelha (Red), verde (Green) e azul (Blue)
em diferentes intensidades para compor cada uma das cores que podem ser representadas.
Cada componente representada por um byte, e o valor do byte determina a intensidade da
respectiva componente.
- HSV: O sistema HSV procura dividir o espao de cores de forma mais intuitiva ao ser
humano, e divide o valor do pixel nas componentes matiz (ou hue), saturao e valor (value),
normalmente chamado de intensidade (como no sistema anlogo HSI). A matiz representa a
informao bsica da cor. A fraca correlao entre os componentes faz com que o sistema
HSV seja uma opo atraente quando se busca independncia a variaes de contraste para
isolar uma cor, ou isolar um nvel de iluminao, por exemplo.
A maioria dos sistemas segue o padro de trs componentes de intensidade. Apesar
disto, existem sistemas que seguem outros esquemas de cor, como o RGBA, um sistema de 32
bits, sendo que os 24 primeiros bits determinam a cor e os 8 ltimos bits so usados para
representar efeitos como transparncia e translucidez, no chamado canal alfa da imagem. O
modelo de cores CMYK, por sua vez, definido pelas componentes azul ciano, magenta,
amarelo e preto, que sendo um modelo subtrativo de cores usado em muitas impressoras.
O conhecimento da estrutura de imagens digitais, sua representao e padres
utilizados importante para o tratamento computacional das mesmas. A viso computacional
tem grande potencial de aplicaes em diversas reas do conhecimento, de especial interesse
para este trabalho na robtica e robtica mvel.

- 30 -

3.2 Viso Computacional Aplicada Robtica

A viso computacional uma cincia que muito pode beneficiar a robtica mvel. Uma
sequncia de quadros ou mesmo uma nica imagem so sinais complexos e de grande
variedade. No existe um mtodo ideal para extrao de informaes de uma imagem; cada
aplicao requer uma abordagem especfica, e como a viso humana, contextualizada. Entre
as pesquisas envolvendo aplicaes de mtodos e tcnicas de viso computacional na
robtica, temos trabalhos como (Zhou et al., 2003) que usa anlise de histogramas de imagens
para localizao com timos resultados. Os histogramas podem ser usados para pareamento
com certa eficincia, como demonstrado em (Ulrich e Nourbakhsh, 2000), que compara perfis
de histogramas para identificar cenas e localizar um rob mvel no ambiente. Uma
desvantagem de histogramas que estes no contm informaes sobre posies e relaes
espaciais entre pixels (Shen e Hu, 2006).
Operaes deste tipo se enquadram na categoria de operaes chamadas de operaes
espaciais. Operaes espaciais referem-se a operaes realizadas diretamente nos pixels de
uma dada imagem, trabalhando no domnio espacial. Estas tcnicas ainda se dividem em
operaes pontuais, realizadas pixel a pixel (point operators) ou operadores estatsticos
(Nixon e Aguado, 2007).
Entre os operadores pontuais podemos citar operaes com histogramas de imagens,
como limiarizao (thresholding) ou funes de alterao de nveis de cor. Entre os
operadores no-pontuais temos operadores estatsticos, morfolgicos, entre outros, e
possvel citar transformaes geomtricas (rotao, escala e translao), interpolao, eroso,
dilatao e filtros como o de mdia, em que o valor do pixel dado pela mdia aritmtica dos
valores dos pixels vizinhos, ou o filtro de mediana (Davies, 1988), eficaz na substituio de
pixels de valores muito dspares da imagem, sendo muito usado para remoo de rudo (Jhne,
2005; Couto, 2008).
Analisando-se as derivadas do sinal, ainda mais informaes podem ser extradas de
uma imagem. A derivada fornece informaes de variao, de contraste. Em uma imagem, ela
enfatiza extremos entre regies, e portanto, operadores que detectam bordas, cantos e imagens
em geral baseiam-se em avaliar e interpretar as derivadas. Uma variao contrastante no sinal

- 31 -

implicar em uma derivada alta naquela regio de transio, um valor de pico localizado na
borda, e para intervalos pequenos o suficiente a primeira derivada pode ser aproximada com
pouco erro pela tangente entre pontos adjacentes.
De modo semelhante, a segunda derivada pode ser averiguada, j que esta cruza o eixo
zero nos pontos mximos e mnimos da primeira derivada. Assim, os pontos onde a segunda
derivada alterna de sinal so os pontos de pico da primeira derivada, que so os pontos de
maior variao da imagem original (Nixon e Aguado, 2007).
Operadores baseados nestas anlises diferenciais de primeira e segunda ordem
permitem deteco de contornos e bordas. Neste nvel j se caracteriza a deteco de pontos
de interesse em uma imagem, o que pode ser de grande interesse para a viso computacional e
robtica mvel. Mtodos para deteco de bordas com derivada de primeira ordem incluem
Canny (Canny, 1986), Sobel e usando derivadas de segunda ordem temos o Laplaciano.
Mtodo similares permitem a deteco de curvaturas e de cantos (Moravec, 1980; Chen et al.,
1995), como no Harris Corner Detector (Harris e Stephens, 1988), ou FAST, Features from
Accelerated Segment Test (Rosten e Drummond, 2006).
Existem tambm detectores de caractersticas que envolvem o uso conjunto de
operadores matemticos diferenciais e transformaes (trabalhando temporariamente com
sinais no domnio da frequncia, como na anlise de Fourier), em mtodos como LoG
(Laplaciano do Gaussiano) e DoG (Diferena de Gaussianos), entre outros (Figura 3.1).
Outra categoria de detectores de caractersticas so os detectores de forma (shape
detectors), dentre os quais pode-se citar a Transformada Hough. Esta transformada usada,
especificamente, para a extrao de formas como retas, crculos e elipses. O mtodo foi
desenvolvido em (Hough, 1959), mas apenas em (Duda e Hart, 1972) ele foi aplicado em
processamento de imagens pela primeira vez (Bradski e Kaehler, 2008).
Alm destes mtodos que detectam caractersticas genricas (livres de contexto),
aplicaes mais especficas podem utilizar informaes sobre o problema em particular para
desenvolver mtodos especializados de deteco atravs de cmeras, como o sistema de
proteo de privacidade usado no carro do Google Street View14 para detectar rostos e placas
de carro e obscurec-los por questes de privacidade (Frome et al., 2009) ou sistema de

14

http://maps.google.com/help/maps/streetview, acesso em 01/2012.


- 32 -

autenticao biomtrica, onde caractersticas particulares fsicas de uma pessoa (rosto, ris,
impresso digital, etc) podem ser usadas para detectar sua identidade (Jain et al., 2000).

Figura 3.1: Exemplos de mtodos de extrao de caractersticas visuais. Do topo, da esquerda para a direita:
imagem original; imagem com Canny; imagem com Sobel; Laplaciano do Gaussiano.

Marcas artificiais que sejam de fcil deteco podem ser adicionadas ao ambiente para
auxiliar a deteco (Saripalli et al., 2002). Identificadores de Radio-Frequncia (RFIDs)
podem ser usados como marcas inseridas no ambiente para navegao, como proposto em
(Khubitz et al., 1997), e mais recentemente em (Gueaieb e Miah, 2009) e em (Park e
Hashimoto, 2009). Marcas artificiais podem ser combinadas com caractersticas SIFT. Em
(Forssn et al., 2008), a marca artificial funciona como um mecanismo para atrair a ateno
do rob a um objeto; em seguida, o mtodo SIFT usado para reconhecimento.

- 33 -

Outros mtodos utilizam Redes Neurais Artificiais. Desta forma, o sistema pode
promover resultados eficientes para deteco de elementos especficos para os quais ele foi
treinado, adicionando assim semntica escolha das regies de interesse da imagem.

3.3 Mtodos Detectores-Descritores Baseados em Espao de Escala

A capacidade de um mtodo de viso computacional ser capaz de extrair pontos de


interesse de uma imagem bastante vantajosa. Tais pontos, porm, devem ser escolhidos de
forma a serem possveis de rastrear e recuperar futuramente. interessante que a informao
usada para descrever um ponto de referncia seja rica, mas ao mesmo tempo preciso que a
caracterstica visual descrita seja recuperada no futuro em outro sinal (imagem) diferente,
ento deve haver equilbrio neste aspecto.
Um grupo de detectores de pontos de referncia que oferecem bons resultados de
deteco e recuperao de pontos de referncia so os detectores-descritores de caractersticas
baseados em espao de escala. A inspirao para trabalhos do tipo veio do mtodo SIFT,
Scale Invariant Feature Transform, desenvolvido por Lowe (Lowe et al., 2004), e desde ento
muitas verses e aprimoramentos foram criados. Uma comparao extensa de diversos
mtodos computacionais para gerao de descritores pode ser encontrada em (Mikolajczyk e
Schmid, 2005). Estes mtodos so tambm chamados de blob detectors, pela tendncia de
pontos de referncia nestes casos serem comumente detectados em blobs, ou seja, reas
delimitadas da imagem distintas por cor e forma.
A seguir, faremos uma apresentao e descrio dos principais mtodos detectoresdescritores.

3.3.1 SIFT
Um dos trabalhos seminais da rea de mtodos detectores-descritores de caractersticas
baseados em espao de escala, o SIFT foi desenvolvido e publicado por David Lowe (Lowe et
al., 2004). Por este motivo, embora este trabalho tenha usado o mtodo SURF, vlido

- 34 -

analisar primeiramente o mtodo sobre o qual ele se fundamentou. Detectores baseados em


espao de escala baseiam-se em dois elementos distintos; primeiramente o detector, que
analisa a imagem e seus pontos de referncia candidatos, selecionando os mais significativos
e estveis para compor uma assinatura. D-se o nome de assinatura ao conjunto de
caractersticas visuais detectadas que descreve uma determinada cena, ou determinado
elemento da cena. O segundo elemento o descritor, que oferece parmetros que descrevam
cada ponto de forma que possam ser posteriormente comparados e associados a pontos de
outras assinaturas. desejvel que o detector possua boa repetibilidade (ou seja, seja capaz de
extrair os mesmos pontos de referncia mesmo com alteraes na imagem), enquanto o
descritor deve oferecer descries distintas para os diferentes pontos de referncia.
A importncia do SIFT se deve ao fato de o mtodo ter oferecido uma alternativa
aplicvel em casos gerais, rpida e confivel para obter e comparar pontos importantes de
uma imagem. O algoritmo SIFT aplicado em imagens em escala de cinza, sem restries de
resoluo ou contedo, e foi introduzido como um processo para extrair da imagem e
descrever pontos de interesse de maneira invariante a variaes de escala e rotao, e que
tambm possuam a propriedade de serem estveis a graus substanciais de interferncias como
distores, alteraes no ponto de vista (mudanas de perspectiva), mudanas de iluminao,
ocluso parcial e adio de rudo (Lowe, 2004).
Cada ponto obtido na aplicao do algoritmo deve ser bem definido: cada ponto de
interesse, ou keypoint, ou caracterstica visual, possui parmetros de magnitude e orientao
prprias determinados pelo descritor. Assim possvel caracterizar a assinatura de uma
imagem, definida por um conjunto de pontos de referncia. A comparao de assinaturas de
diferentes imagens pode ser usada para associar objetos e cenas iguais, mesmo em tempos e
contextos diferentes. A taxa de acerto particularmente boa deste tipo de algoritmo fez com
que os detectores-descritores baseados em espao de escala se tornassem populares em
diversas aplicaes de viso computacional e robtica, por exemplo como ferramenta para
localizao, SLAM, algoritmos de Structure from Motion15, estimativa de movimento,
tracking de objetos ou at reconhecimento de rostos (Majumdar e Ward, 2009).
Aplicaes modernas tambm incluem o reconhecimento de sinais de trnsito (Kus et
al., 2008) e criao de fotografias compostas ou fotografias panormicas atravs da deteco
15

http://homepages.inf.ed.ac.uk/s0346435/projects/sfm/sfm_sift.html, acesso em 01/2012.


- 35 -

das reas correspondentes de sobreposio nas imagens, como no software AutoStitch16


(Brown e Lowe, 2007). O fato de que o software nem ao menos necessita de qualquer
orientao sobre posies relativas das fotos do conjunto de imagens de entrada uma
demonstrao da robustez das caractersticas visuais SIFT.
O algoritmo SIFT se divide em quatro estgios: a deteco de extremos do espao de
escala, a deteco e localizao dos pontos de referncia, a atribuio de orientaes e o
descritor dos pontos.
O primeiro passo do algoritmo SIFT, a deteco do espao de escala, consiste em
localizar os pontos da cena que so invariantes mudana de escala. A deteco destes pontos
pode ser realizada atravs da busca por caractersticas estveis atravs de todas as possveis
escalas, utilizando uma funo de escala chamada espao de escala, a funo Gaussiana
(Witkin, 1983). A repetida convoluo da imagem original em grayscale com a funo
Gaussiana gera um conjunto de Gaussianas da imagem. A subsequente subtrao dos
resultados das Gaussianas uns dos outros (Figura 3.2) resulta na chamada diferena-doGaussiano, ou DoG17. Em seguida, as imagens Gaussianas so quantizadas pela metade
(downsampling) e o processo se repete por algumas iteraes. Este procedimento garante
invarincia escala.
Comparaes experimentais (Mikolajczyk e Schmid, 2005) mostraram que os extremos
locais da diferena-do-Gaussiano (mximos e mnimos locais) so pontos estveis, e bons
candidatos a serem caractersticas visuais da assinatura SIFT da cena. Neste primeiro estgio,
a maior demanda computacional se deve construo em si do espao de escala Gaussiano, e
no deteco dos extremos do mesmo (Zhang et al., 2008).
O segundo estgio do algoritmo a deteco e localizao dos pontos de referncia,
eleitos a partir dos pontos candidatos obtidos na fase anterior. Isto ocorre porque deseja-se
rejeitar pontos pouco estveis, como pontos de baixo contraste ou pontos localizados em
bordas. Assim, um threshold de contraste aplicado aos pontos. Pontos definidos em bordas
so suscetveis a rudo, e so detectados na diferena-do-Gaussiano por terem curvatura
principal alta na direo da borda, mas no na direo perpendicular.

16
17

http://www.autostitch.net, acesso em 01/2012.


http://fourier.eng.hmc.edu/e161/lectures/gradient/node11.html, acesso em 01/2012.

- 36 -

Figura 3.2: O primeiro passo do algoritmo SIFT. Primeiro calcula-se o Gaussiano das imagens por convoluo,
e atravs da subtrao dos resultados adjacentes obtm-se as diferenas-do-Gaussiano, onde sero buscadas as
caractersticas invariantes. A escala da imagem reduzida e o processo realizado novamente (Lowe, 2004).

O estgio que segue a atribuio das orientaes aos keypoints escolhidos. A


representao das orientaes torna os pontos invariantes a alteraes de rotao. A
orientao obtida a partir da anlise do gradiente em pontos da regio ao redor do keypoint,
a fim de determinar a orientao dominante. Finalmente, no quarto e ltimo estgio criado
um descritor local da caracterstica. Neste passo o SIFT gera uma descrio altamente distinta
para a regio da imagem, que ainda seja estvel a outras deformidades geomtricas e
fotomtricas na imagem. Isto realizado atravs do clculo do histograma de gradientes de
magnitudes e orientaes ao redor do ponto detectado. Uma explicao para os bons
resultados obtidos com o uso dos descritores baseados em histogramas, comuns em outros
mtodos alm do SIFT, est na propriedade dos histogramas de serem uma representao da
distribuio

de

dados

independente

de

informao

espacial,

que

simplifica

computacionalmente as comparaes e promove estabilidade (Mikolajczyk e Schmid, 2005).


Este processo biologicamente inspirado em uma teoria sobre o funcionamento de grupo de
neurnios complexos do crtex visual primrio que permitem que seres humanos reconheam

- 37 -

objetos tridimensionais a partir de perspectivas diferentes (Serre et al., 2007). O conjunto dos
pontos detectados e descritos forma a assinatura da imagem (Figura 3.3).
A assinatura ou descritor SIFT de qualquer cena pode ser obtido de forma repetvel. O
pareamento feito usando uma tcnica simples de clculo da distncia euclidiana do descritor
do ponto encontrado em relao ao da base de dados. A partir dos pares entre diversos pares
de pontos, a assinatura identificada.

Figura 3.3: Exemplo de keypoints obtidos com o algoritmo SIFT. Em (a) temos a imagem original, em (b) o
primeiro conjunto de keypoints obtidos, em (c) o conjunto reduzido aps aplicao de um threshold de contraste
mnimo e (d) o conjunto final aps um threshold de razo mxima de principais curvaturas (Lowe, 2004).

No caso de um rob mvel, essa informao pode ser usada para localizao, j que
uma assinatura pode ser associada a uma localizao ou orientao. Pode-se tambm
adicionar contexto s assinaturas, o que capacita o rob a reconhecer alvos, objetivos e itens
importantes do ambiente. Outro mtodo de uso das Scale-Invariant Features na robtica
mvel foi descrito por Lowe et al. (2001). Neste mtodo, que usa uma cmera estereoscpica,
as caractersticas SIFT de uma imagem so computadas para cada uma das lentes da cmera.

- 38 -

Os resultados podem ento ser comparados para estimativa de distncias e construo de uma
mapa 3D do ambiente, pois keypoints SIFT mais prximos da cmera possuiro equivalentes
com maior disparidade em cada uma das lentes.

3.3.2 SURF
Uma alternativa baseada no mtodo SIFT, que foi o mtodo usado neste trabalho, o
SURF, Speeded-Up Robust Features (Bay et al., 2008). O mtodo SURF possui desempenho
que aproxima ou at mesmo supera mtodos similares como o SIFT, e seus pontos de
referncia podem ser computados e comparados mais rapidamente, mesmo em alguns casos
sacrificando robustez a algumas variaes. Comparaes entre SIFT e SURF indicam que o
algoritmo SURF pode ser mais rpido que o SIFT, e pode tambm ser mais resistente a
alteraes de iluminao e blurring, ou imagem tremida (Huynh et al., 2009). Isso faz com
que o SURF seja uma alternativa vivel para determinadas aplicaes (mais detalhes sobre a
escolha do mtodo no Captulo 4). Existe uma implementao open source do mtodo, o
OpenSURF18, e o mtodo tambm est incluso na biblioteca de viso computacional OpenCV
(Bradski e Kaehler, 2008).
O mtodo SURF aplica diversos aperfeioamentos desenvolvidos ao longo de pesquisas
na rea aos mtodos do SIFT. Por exemplo, o SURF usa imagens integrais para simplificar o
clculo das convolues (Viola e Jones, 2001). Em contraste com o SIFT, o SURF usa o
Laplaciano do Gaussiano (LoG) no lugar da diferena-de-Gaussianos (DoG), para construir o
espao de escalas. O uso de imagens integrais permite que, durante o processo de gerao de
Gaussianas em diversas escalas, o filtro seja aumentado (upscaling), no lugar de se reduzir a
escala da imagem como no SIFT (downscaling). Isso permite ganhos de velocidade no
processo (como mencionado, a clculo do espao de escala custoso no SIFT), e evita o
aliasing causado pela reduo da imagem. O determinante da matriz Hessiana (matriz
composta pelas segundas derivadas parciais da funo imagem) pode ento ser usado para
classificar os mximos e mnimos da funo pelo teste da derivada de segunda ordem (Evans,
2009).

18

http://code.google.com/p/opensurf1/, acesso em 01/2009


- 39 -

Em relao ao descritor do SURF, ele opera de forma anloga ao SIFT, com algumas
diferenas. Na atribuio de orientaes e clculo do descritor, o SURF utiliza a informao
de gradiente pela soma das respostas da vizinhana do ponto wavelet Haar, o que de acordo
com os autores aumenta a velocidade e robustez do processo. Da mesma forma que o SIFT, a
informao utilizada um histograma de distribuies de gradiente da regio do ponto de
referncia, mas no SURF a resposta wavelet Haar somada e independe das orientaes
individuais dos gradientes da regio. Desta forma, o algoritmo mais resistente a rudo,
enquanto perde pouca capacidade discriminativa (Figura 3.4).

Figura 3.4: O mtodo SURF resistente a alteraes na imagem. Neste caso, a presena de uma pessoa na cena
no prejudica pares de pontos em outras regies da imagem.

Uma outra otimizao digna de meno acrescentada pelo mtodo que o sinal do
operador Laplaciano considerado durante o pareamento de pontos, e duas caractersticas s
so comparadas se o sinal de seus Laplacianos (calculado na criao do espao de escala,
durante a determinao dos pontos de interesse) for o mesmo. Isto reduz o nmero de
comparaes realizadas e aumenta a capacidade discriminativa.

3.3.3 Outros mtodos similares


Recentemente a pesquisa em mtodos detectores-descritores tem gerado alternativas aos
mtodos SIFT e SURF. A maioria destas ferramentas mantm a estrutura original do mtodo
SIFT, acrescentando inovaes e alternativas que em geral possuem vantagens e

- 40 -

desvantagens. Assim, importante conhecer os mtodos e suas caractersticas para escolher o


mais adequado para a aplicao desejada.
Uma variante direta do algoritmo SIFT o algoritmo Color SIFT, ou CSIFT (AbdelHakim e Farag, 2006; Burghouts e Geusebroek, 2009). No lugar de imagens monocromticas,
este mtodo adaptado para diferenciar cores. A discriminao de cores do CSIFT pode ser
aplicada em situaes especficas em que a informao de cor relevante para aumentar o
poder discriminativo do sistema (Van de Sande et al., 2010) e o tempo de processamento no
seja um requisito crtico. No CSIFT, o mtodo SIFT aplicado para cada um dos 3 canais da
imagem, e 3 grupos de caractersticas so gerados. Os canais componentes da imagem usados
no caso so: intensidade, azul-amarelo e verde-vermelho. Os ganhos no so significativos e,
como esperado, o tempo de execuo do algoritmo CSIFT significativamente maior que o
do SIFT comum.
O PCA-SIFT, por sua vez, uma modificao do SIFT que aperfeioa o descritor
aplicando PCA (Principal Component Analysis) nos histogramas de gradiente (Ke1 e
Sukthankar, 2004). Como na modificao aplicada pelo SURF, o novo detector mais
distinto e resistente a deformaes. O PCA (Jolliffe, 2002) uma tcnica de reduo de
dimensionalidade atravs da projeo de amostras de dimenses maiores em espaos de
dimenses menores.
Um dos mtodos mais recentes baseados em deteco de caractersticas visuais em
espao de escala o CenSurE (Agrawal et al., 2008). Como o SURF ele utiliza imagens
integrais para ganho de desempenho
Baseado no CenSurE, surgiu o SUSurE, Speeded Up Surround Extremas (Ebrahimi e
Mayol-Cuevas, 2009). Voltado para execuo em dispositivos portteis. Para reduzir a carga
de transmisso, o SUSurE se prope em compactar a quantidade de informao utilizada. Isto
ocorre atravs da realizao de amostragem esparsa na deteco e descrio.

- 41 -

4 Viso Computacional Aplicada Robtica: Ferramentas e


Mtodos
Este captulo apresenta as ferramentas e recursos utilizados no desenvolvimento desta
dissertao. Os testes foram realizados e todos os materiais foram disponibilizados junto ao
LRM, o Laboratrio de Robtica Mvel do ICMC-USP. Para o desenvolvimento do projeto
proposto foram usados os robs mveis, computadores e perifricos do LRM, bem como as
ferramentas de controle e simulao robtica Player/Stage, e o software de processamento de
imagens e viso computacional OpenCV, que so descritos a seguir nas sees 4.1 a 4.3. A
seo 4.4 descreve a proposta de pesquisa e os experimentos que foram desenvolvidos.

4.1 Plataformas Robticas e Perifricos

Os testes prticos do projeto foram realizados principalmente sobre a plataforma


robtica mvel para ambientes indoor Pioneer 3-AT. Alguns testes durante o projeto foram
realizados sobre os robs mveis Pioneer 3-DX e Erratic ERA-MOBI, plataforma similar ao
P3-DX (Figura 4.1). Os robs Pioneer esto entre as plataformas mais utilizadas na atualidade
e pesquisas em robtica, e apesar da popularidade do Pioneer 3-DX, durante os testes e
experimentos o Pioneer 3-AT mostrou-se bastante estvel, havendo sido usado em todos os
experimentos finais cujos resultados so aqui apresentados. Estes robs podem ser equipados
com diferentes sensores e atuadores, como sonares, laser Sick LMS e Hokuyo URG, bem
como suportes mveis do tipo pan-tilt sobre os quais podem ser adaptadas cmeras de vdeo
(monocular simples ou de viso estreo). No caso deste trabalho, a cmera de vdeo foi
acoplada sobre o rob e permaneceu fixa na direo frontal. O uso do pan-tilt pode ser til em
trabalhos futuros para a proposta de localizao, mas este aspecto no foi explorado neste
trabalho, que se concentrou nas possibilidades de localizao com a cmera fixa. Diversas
cmeras foram testadas durante o projeto, sendo que a cmera usada nos testes e resultados
apresentados neste trabalho foi uma cmera de barramento FireWire da marca Videre, modelo
Videre DCSG Color.
- 42 -

Figura 4.1: Robs Mveis do Laboratrio de Robtica Mvel na USP (LRM ICMC USP). Da esquerda para
a direita, o Pioneer 3-AT, o Pioneer 3-DX e os dois robs Erratic.

O Pioneer 3-AT (ou P3-AT ou simplesmente Pioneer) um rob mvel desenvolvido


pela empresa MobileRobots Inc. Verstil e robusto, uma das plataformas mais reconhecidas
e difundidas na academia e em pesquisas na atualidade. Existe a opo de embarcar um PC no
rob ou acoplar um computador laptop a este, o que o torna adequado para diversas tarefas
que demandam maior poder de processamento. O PC oferece grande liberdade para o
desenvolvimento de projetos com o Pioneer, tendo sido a opo escolhida para o projeto
(Figura 4.2).
A comunicao entre o PC embarcado e os sensores e atuadores se d atravs da
interface da ferramenta Player. Todos os robs da famlia Pioneer so suportados pela
ferramenta Player/Stage19, com drivers bem estabelecidos e suportados para comunicao
entre o rob e o PC no Player, e com modelos para simulao dos robs Pioneer no caso do
Stage.
A base do Pioneer 3-AT, sem perifricos, apresenta medidas de 50,8 cm x 49,7 cm x
27,7 cm, o que o tornam adequado para navegao em ambientes internos (indoor), como
salas e corredores. O Modelo AT tambm foi desenvolvido com o propsito de suportar a
navegao por ambientes mais acidentados. O rob pode se mover em velocidades de at 0.8
metros por segundo, pode suportar uma carga de at 12 kg, e possui autonomia de at 4 horas
de operao com suas 3 baterias de 7.2 Ah cada, o que foi suficiente para os testes realizados.

19

http://www.mobilerobots.com/ResearchRobots/ResearchRobots.aspx, acesso em 01/2012.


- 43 -

Com baterias reserva a carga pode ser suficiente para a maioria das aplicaes de localizao
e navegao j que as baterias so hot-swappable, ou seja, as baterias podem ser trocadas sem
que haja necessidade de desligar o rob.

Figura 4.2: Rob Pioneer 3-AT equipado para uso, com a cmera e notebook.

4.2 OpenCV

O processamento de imagens foi implementado em linguagem C, usando como base a


biblioteca de Viso Computacional OpenCV20 (Bradski e Kaehler, 2008). A OpenCV uma
biblioteca abrangente e estabelecida, comumente utilizada em aplicaes de Interao
Homem-Mquina (HCI), reconhecimento de caractersticas visuais, rostos e gestos,
seguimento (ou tracking) de movimento e robtica mvel. Como tal, a biblioteca oferece
implementaes de diversas transformaes, tcnicas e operaes sobre imagens, suporte de
20

http://opencv.willowgarage.com/wiki/, acesso em 01/2012.


- 44 -

leitura e escrita para os principais formatos de vdeo e imagem, estruturas de dados auxiliares
especficas para trabalho com imagens e funes de aprendizado de mquina, como suporte a
redes neurais. A documentao existente extensa e abrangente, e a OpenCV pode ser usada
em ambientes Linux ou Windows, sendo compatvel com a plataforma PC embarcada nos
robs mveis Pioneer e Erratic.
A OpenCV apresenta-se como uma importante ferramenta para o desenvolvimento de
algoritmos e a realizao de experimentos e testes em viso computacional. Suas aplicaes
na rea de viso computacional aplicada robtica mvel tm sido extensas. Alm disto,
uma ferramenta que se integra ao sistema embarcado de controle e navegao dos robs
mveis, tendo um desempenho bastante adequado para uma execuo de algoritmos de
controle e navegao em tempo de execuo.
Nos estgios preliminares do trabalho, a OpenCV foi extensivamente usada para testes
dos diversos detectores de caractersticas, incluindo detectores de bordas e cantos,
transformada Hough e variantes dos mtodos SIFT e SURF (Laganire, 2011).

4.3 A Ferramenta Player/Stage


Uma das alternativas de projeto do sistema de um rob o caso em que um rob opera
como um sistema embarcado, onde o software projetado especfico para o hardware daquele
rob. Por outro lado, quando se usa um computador de propsito geral como um PC para se
controlar o rob, com software de alto-nvel sendo executado, preciso que haja uma camada
intermediria de software que permita a interao entre o software de controle e os
dispositivos do rob. Existem diversas alternativas para isso, e como j mencionado, neste
projeto a comunicao entre o rob e o PC se deu atravs da ferramenta Player/Stage21, uma
das ferramentas mais difundidas para controle robtico, interface e simulao. As ferramentas
do Project Player, que inclui o Player e o Stage, so compatveis com sistemas POSIX e so
software livre.
O Player (Collett et al., 2005) funciona baseado em um modelo cliente-servidor de rede,
sendo que nele a comunicao ocorre atravs do protocolo TCP/IP. No caso, o rob atua
21

http://playerstage.sourceforge.net/, acesso em 01/2012.


- 45 -

como o servidor, enquanto um programa cliente no PC pode realizar requisies, enviar


comandos e acessar os dispositivos do rob, por intermdio dos drivers fornecidos pelo
Player. Alternativas mais recentes incluem sistemas como o ROS, Robot Operating System
(Quigley et al., 2009).
A ferramenta Stage (Gerkey et al., 2003), por sua vez, um simulador para robs
mveis. A simulao uma alternativa atraente na robtica mvel devido muitas vezes s
dificuldades de se realizar testes em campo. O Stage pode, por exemplo, simular dezenas de
robs simultaneamente no ambiente, ou mesmo acelerar a execuo de um teste de muitas
horas de durao que poderia ser invivel na prtica (Figura 4.3). O ambiente controlado
tambm oferece a possibilidade de testes e experimentos livres de perturbaes do ambiente, e
pode ser til em testes para identificar a origem de problemas, atravs da comparao do
desempenho do sistema no ambiente real com o simulado. A desvantagem dessa abordagem
que os modelos em simulao no representam todas as variveis do ambiente real, o que
acarreta muitas vezes em resultados contrastantes entre simulao e testes em robs reais.

Figura 4.3: Uma captura de tela do ambiente de simulao Stage.

Considerando as disparidades e vantagens da simulao em relao aos testes de


campo, a ferramenta Stage ser usada especialmente para avaliao do algoritmo de controle e
- 46 -

navegao autnoma do rob mvel. As atuais verses (Stage 3.2.x) possuem opo para
visualizao da simulao de forma 2D, atravs de vista superior (birds-eye view), ou atravs
de viso 3D. O ponto de vista 3D pode ser livre, ou pode-se optar por visualizar a informao
3D simulada da cmera embarcada de determinado rob da simulao. A viso 3D do Stage
tambm chamada de 2.5D22, j que apenas um modo de visualizao dos dados, e a
simulao propriamente no envolve a terceira dimenso, diferente do que ocorre em outros
simuladores para robtica como o Gazebo23 ou Microsoft Robotics Studio24, que incorporam
simulao de fsica tridimensional.
O simulador Stage carregado com um arquivo world, que representa o mapa do
ambiente (extenso .world), incluindo descritores para os robs que sero usados, que
explicitam caractersticas de hardware, bem como os mdulos que sero usados para controle
dos mesmos. Alm disso, o arquivo world traz representaes de elementos de interesse do
mapa que denotam as possveis interaes entre esses elementos e os robs. Todas essas
informaes so descritas em uma sintaxe prpria do Stage.
O simulador Stage foi utilizado em experimentos preliminares para testes da interao
do Player com o rob simulado, antes que os resultados fossem aplicados ao rob real.

4.4 Detalhamento da Proposta e Mtodos Utilizados


O presente trabalho demonstra o projeto de um sistema de localizao global e
navegao autnoma utilizando como sensor apenas uma cmera. A pesquisa mostra como
um mtodo de extrao de assinaturas de pontos de interesse de imagens, associado
memria visual formada pelo armazenamento de imagens de um caminho percorrido e
informao odomtrica, pode ser usado para construir no rob um mapa de memria do
ambiente. Este servir de referncia para que o rob recupere sua posio em uma situao
futura, atravs da eleio da imagem mais adequada pela associao entre as assinaturas
observadas e as cenas armazenadas em sua memria.

22

http://playerstage.sourceforge.net/index.php?src=stage, acesso em 01/2012.


http://gazebosim.org/, acesso em 01/2012.
24
http://www.microsoft.com/Robotics/ acesso em 01/2012.
23

- 47 -

A proposta consiste da capacitao do rob para se localizar dentro de uma rota. A


rota descrita de forma semelhante VSRR (View Sequenced Route Representation),
proposta por Matsumoto et al. (1996). No VSRR, um percurso de gravao realizado pelo
rob enquanto este guiado por um ser humano (Figura 4.4). Tcnicas baseadas na
recuperao de imagens armazenadas em uma etapa prvia de gravao so chamadas de
appearance-based techniques (Jafar et al., 2009). Durante este percurso guiado, o rob realiza
a captura de imagens do ambiente, onde as imagens capturadas esto associadas informao
odomtrica (posio e orientao do rob). Quando a localizao autnoma for realizada, o
rob pode associar a imagem atual observada com as cenas armazenadas no percurso de
gravao, e assim pode aproximar sua pose atual relativamente s poses gravadas.

Figura 4.4: A VSRR, composta de um percurso de gravao, posteriormente usado na localizao do rob
(adaptado de Matsumoto et al., 1996).

No trabalho original da VSRR, o pareamento entre a imagem observada e as imagens da


memria se deu atravs de uma tcnica de correlao (Crowley e Chenavier, 1992). Nesta
- 48 -

proposta, utilizamos o mtodo SURF de extrao de pontos de referncia para gerar as


assinaturas de cada imagem, e o descritor do SURF para a comparao entre diferentes
imagens. Aps a comparao e pareamento, a informao odomtrica nos permitiu medir o
erro de odometria entre as imagens pareadas. Note que a medida odomtrica das imagens
memorizadas carrega em si um erro odomtrico cumulativo. Para aplicaes prticas, o
importante neste caso que a informao visual esteja correta, pois ela pode ser usada durante
a localizao e navegao pra mitigar o erro odomtrico, realizando refinamentos no ngulo
de navegao do rob e distncia percorrida, para que ele possa se manter prximo da rota
desejada. Com isso, no necessrio considerar a odometria de uma cena em relao origem
(erro acumulado), mas a localizao relativa s imagens pode manter o erro dentro de uma
margem limitada.

4.4.1 A Construo do Mapa


O mapa do ambiente armazenado a referncia atravs da qual o rob se localiza e
navega. O rob mvel foi equipado com um notebook, ao qual uma cmera foi ligada. O
percurso foi conduzido por um ser humano, guiando o rob com um joystick. Durante todo
este percurso manual, o rob realizou a captura de imagens do ambiente, na freqncia de um
frame por segundo de execuo. Esta frequncia resultou em uma densidade de imagens
considerada suficiente para oferecer a preciso de localizao necessria para uma grande
gama de aplicaes de navegao de espaos internos. Com base nos dados das imagens
obtidas no percurso guiado, calculamos que a distncia entre frames adjacentes no mapa de
memria foi de no mximo 10 cm, para os diferentes percursos capturados. Este valor
representa a resoluo da localizao do rob. Queremos neste caso testar a preciso do
algoritmo de pareamento para diferenas pequenas de perspectiva, portanto uma alta definio
importante, comparativamente, por exemplo, definio usada no trabalho de Matsumoto
(um metro entre uma imagem e outra). Simultaneamente captura das imagens, a informao
odomtrica foi gravada em um registro de log; especificamente os parmetros de posio (x,y)
e a rotao (z), parmetros suficientes para posicionamento de um rob mvel em terreno
considerado plano (uma suposio razovel para os ambientes internos onde ocorrer a

- 49 -

navegao). Os parmetros so considerados relativamente coordenada onde o rob iniciou


sua execuo, que convencionamos como sendo (x, y, z) = (0, 0, 0). Cada imagem capturada
no percurso de gravao foi associada informao odomtrica da posio daquele local, de
forma que um mapa de imagens do ambiente foi obtido. As assinaturas SURF de cada
imagem foram calculadas e armazenadas nesta etapa, antecipando esta tarefa para otimizar o
desempenho durante a execuo.

4.4.2 A Localizao Autnoma


A localizao do rob no ambiente essencial para a maioria das tarefas de navegao
robtica, e um dos elementos mais importantes que devem ser abordados na robtica mvel
(Thrun et al., 2005). Existem sistemas robticos de navegao reativos ou simplificados que
podem ser funcionais sem que haja necessidade de que o rob saiba sua localizao precisa,
mas a capacidade de se localizar representa um conjunto maior de atividades possveis que
um rob pode realizar. De fato, como mencionado, a localizao importante para qualquer
tarefa de navegao mais complexa, que exija planejamento de trajetria ou qualquer tipo de
conhecimento da posio do rob em relao ao ambiente.
O sistema proposto no projeto no exige o conhecimento da posio inicial do rob,
ento ambos os tipos de localizao, global e local, so necessrios. um problema
semelhante ao do rob sequestrado (Howie et al, 2005), j que a nica verdade assumida
que o rob est em algum ponto de sua rota memorizada, mas sem conhecimento do ponto
exato. A cmera de vdeo um sensor que traz dados ricos sobre o ambiente, mas so
informaes dependentes de interpretao. Mtodos como o SURF oferecem reconhecimento
de imagens, necessrio para a aplicao desejada.
A localizao global requer que exista um mapa do ambiente previamente conhecido,
relativo ao qual a localizao se dar. No caso do presente trabalho, este mapa a sequncia
de imagens obtida no trajeto inicial do rob (memria visual do caminho), portanto a
localizao se dar por um modelo no-mtrico (sem informao explcita de distncia).
Posteriormente a odometria ser considerada para medir a acurcia do mtodo, mas esta
informao no usada na localizao. Uma vez posto em funcionamento, o rob no tem

- 50 -

conhecimento de sua posio em todo o ambiente, portanto a localizao dever ser global. A
nica informao sobre seu estado atual no percurso que o rob possui ao ser ligado a
imagem imediatamente sua frente capturada pela cmera. Como assumimos que o rob foi
posicionado em algum lugar do caminho memorizado, a localizao consiste em percorrer a
base de dados de imagens em busca do quadro mais condizente com a captura atual da
cmera. Esta busca completa do mapa de imagens s dever ser realizada no momento da
inicializao ou caso o rob perca sua posio durante a localizao local incremental.
A comparao dos quadros realizada atravs do mtodo SURF. O SURF um mtodo
especializado em identificao de cenas similares, a partir de perspectivas distintas (entre
outros parmetros). O SURF, no entanto, no um mtodo binrio. O algoritmo de
identificao obtm, para cada par de cenas, uma certa quantidade de pares de pontos de
referncia identificados. Cenas iguais em perspectivas muito diferentes ainda so pareadas
com sucesso, mas cenas iguais em perspectivas apenas levemente diferentes oferecem um
nmero maior de pares de pontos associados, como intuitivamente esperado. A quantidade
destes pares pode ser usada como critrio para avaliao da similaridade entre as cenas. Ser
mostrado que em ambientes internos como, por exemplo, um corredor, o rob observa
frequentemente a mesma cena com leves variaes de perspectiva entre cada quadro
(conforme o rob se move). A aplicao do SURF em um caso como este fornece medidas
gradativas do nvel de similaridade entre cenas diferentes.
Alm do nmero de pares, que o critrio padro de mtodos detectores-descritores
para determinar similaridade entre imagens, propomos tambm um mtodo alternativo para a
pareamento. Em casos prximos, o mtodo da contagem do nmero de pares pode no ser to
preciso, j que a diferena entre as perspectivas no necessariamente suficiente pra causar
reduo significativa no nmero de caractersticas obtidas. Testes tambm mostraram que
diferenas de iluminao, motion blur e foco da cmera podem causar variaes no nmero de
pares obtidos, o que pode ser suficiente para que a imagem mais adequada seja ultrapassada
em nmero de pareamentos por alguma imagem prxima. Para contornar este problema,
possvel utilizar um critrio diferente para a deciso da melhor candidata entre as imagens
escolhida, que no seja aquela com o maior nmero de pareamentos. O critrio proposto a
variao em pixels entre as caractersticas visuais nas diferentes imagens. Com a cmera fixa
em uma posio, testes mostraram que caractersticas visuais pareadas que so prximas em
- 51 -

nmero de pixels no eixo Y apresentam maior chance de terem sido obtidas a partir da mesma
distncia. Neste caso e no restante do trabalho nos referiremos s coordenadas (X,Y) da
imagem em pixels, sendo X e Y respectivamente os eixos abscissa e ordenada. Isto equivale
de certa forma a parear as assinaturas que possuem escalas similares, e til em ambientes
como os corredores onde h pouca ocluso ou efeitos de paralaxe (parallax). Para a
localizao em ambientes como esses, portanto, pode-se tratar apenas a dimenso em que
ocorre o deslocamento do rob (ao longo do corredor ou da rota). Esta a coordenada mais
significativa, pois espera-se que variaes de rotao e translao lateral na posio do rob
sejam pequenas (devido pouca largura do corredor e conformidade do rob rota). Estas
duas coordenadas se confundem e podem ser tratadas e corrigidas indissociadamente em uma
possvel aplicao de navegao (Basri et al., 1999). Nos testes, portanto, comparamos o
critrio do nmero de pareamentos com o critrio da distncia em pixels entre as
caractersticas pareadas, utilizando como referncia para comparao apenas a dimenso mais
significativa, de deslocamento ao longo da rota no sentido do movimento do rob.

4.4.3 Escolha e Aplicao do Mtodo SURF


O mtodo escolhido para deteco de pontos de referncia com caractersticas distintas
foi o SURF (Bay et al, 2008). Sendo um mtodo detector-descritor, ele gera boas assinaturas
de pontos de referncia (uma assinatura um conjunto de caractersticas destacadas da
imagem), relativamente resistentes a mudanas (variaes de perspectiva, rotao, escala,
luminosidade, ocluso, rudo), o que de grande valia em uma aplicao real em um ambiente
pouco controlado. Os mtodos detectores-descritores so comumente usados para
identificao de objetos e cenas iguais em contextos diferentes. Tcnicas de mapeamento
usando tais mtodos existem, mas comumente utilizam cmeras estreo para a tarefa.
Tcnicas que utilizam cmeras monoculares normalmente necessitam de algoritmos custosos
para realizar a estimativa de profundidade. Este projeto mostra que havendo um mapa
associado s assinaturas, possvel realizar localizao com mtodos detectores-descritores
usando cmeras monoculares; assim elimina-se a necessidade de estimativa de profundidade e
movimento e reduz-se a carga de processamento durante a execuo. A pesquisa tambm

- 52 -

avalia se o mtodo detector-descritor SURF robusto o suficiente para a aplicao em


ambientes internos com poucas caractersticas e na anlise de quadros parecidos.
A escolha do mtodo no foi arbitrria, optando-se pela alternativa mais adequada s
prioridades do projeto. Mtodos alternativos de deteco de pontos de interesse como o FAST
(Rosten e Drummond, 2006) e o Harris (Harris e Stephens, 1988), ambos baseados em
deteco de cantos (conhecidos como corner detectors) so pouco estveis a perturbaes
(especialmente a variaes de escala, um ponto importante no presente projeto), e foram
descartados devido dependncia do projeto de deteco de assinaturas em diferentes escalas.
O detector deve possuir boa repetibilidade, enquanto o descritor deve oferecer descries
distintas para os pontos de referncia.
O mtodo SURF para deteco de caractersticas distintas apresenta bom desempenho
quando comparado com outros mtodos de deteco e descrio de caractersticas que usam
espao de escala. Um aspecto onde o SURF com frequncia supera outros mtodos similares
como o SIFT na velocidade de processamento, em termos, por exemplo, de pareamentos por
segundo na etapa de comparao de assinaturas (Bauer et al., 2007), e o algoritmo utiliza
menor quantidade de memria RAM, sendo o SURF a escolha de preferncia para diversas
aplicaes embarcadas em celulares onde a economia de recursos de hardware essencial,
como visto em (Takacs et al., 2008) ou (Chen et al., 2007). Como o presente trabalho consiste
da avaliao de quantidades relativamente grandes de imagens em tempo de execuo, estes
fatores foram determinantes na escolha do SURF. Outros trabalhos comparativos (Juan e
Gwun, 2010) demonstram que o SURF tem taxa de acerto semelhante ao mtodo SIFT, com
uma tendncia maior de ser prejudicado por variaes de rotao, mas superior ao lidar com
outros tipos de deformidades na cena.
O projeto concentra-se em localizao de robs em ambientes internos, nos quais
espera-se que o rob se encontre, via de regra, em terrenos planos. Isso significa que vlido
assumir que a navegao e a localizao ocorrero em um plano 2D, o que reduz o nmero de
variveis envolvidas e simplifica o problema. No menos importante, esta simplificao
aplicada ao algoritmo detector-descritor permite considerar que as assinaturas no sofrem
alterao na sua rotao referente linha do horizonte. Em termos de coordenadas
tridimensionais, nesta aplicao especfica a nica varivel de rotao que se altera a
azimutal, sendo que a inclinao (ou elevao) e o giro (roll) da cmera permanecem
- 53 -

constantes. Para refletir esta informao, realizamos uma alterao no mtodo SURF para que
o passo que garante invarincia a rotao fosse ignorado, uma variante conhecida como
Upright-SURF, ou U-SURF (Bay et al., 2006). Com o U-SURF, a eficincia do mtodo
aumenta em termos de velocidade e capacidade discriminativa; ao mesmo tempo em que se
reduz o tempo gasto pelo mtodo eliminando um passo do processamento, evita-se potenciais
falsos positivos, pois quaisquer pares de caractersticas com diferenas significativas em seu
atributo de rotao sero descartados.
Note que o U-SURF no realiza a mesma triagem que o segundo critrio proposto para
escolha da imagem de perspectiva mais similar. O U-SURF rejeita pontos baseado na rotao
destes em relao regio onde esto inseridos. O critrio proposto rejeita assinaturas com
muitos pares que apresentem disparidades de distncia no eixo Y.
A pesquisa relacionada a estes descritores recente e bastante ativa, portanto existem
mtodos mais novos que tem apresentado bons resultados, como o CenSurE (Agrawal et al.,
2008) e algumas variantes. Estas alternativas, no entanto, no se mostram definitivamente
superiores e requerem testes comparativos mais aprofundados para justificar sua escolha,
sendo o SURF (e sua verso modificada U-SURF) uma opo mais estabelecida.
O programa desenvolvido para a navegao consiste de um algoritmo comparativo entre
assinaturas. O pareamento realizado entre a assinatura calculada em tempo real e as
assinaturas memorizadas previamente no percurso de gravao. O nmero de associaes
positivas entre cada par de assinaturas indica o grau de semelhana entre estas, e foi ento o
parmetro usado como determinante da similaridade entre as cenas representadas. Quanto
maior o nmero de pareamentos positivos entre as caractersticas visuais, melhor candidata
a imagem. Como j discutimos no Captulo 3, cada ponto de uma assinatura possui diversos
parmetros descritores, entre eles sua coordenada (a,b) na imagem, contada em pixels a partir
do canto superior esquerdo. Assim, cada par de pontos associados em duas imagens diferentes
pode ser referenciado como o par de coordenadas [(a,b),(c,d)].
importante notar que mesmo nos testes em que o U-SURF foi utilizado, houve casos
em que falsos positivos ocorriam em que um par de quadros no correspondente gerava uma
quantidade alta de pares. Neste caso uma possvel soluo seria analisar os resultados das
imagens vizinhas (que deveriam ter uma grande quantidade de pares no caso de um positivo
verdadeiro), mas verificou-se que o problema ocorria especialmente quando uma cena era
- 54 -

particularmente desprovida de caractersticas marcantes e gerava um nico ponto que se


associava a diversas caractersticas da imagem alvo (Figura 4.5). Assim, foi necessrio
introduzir uma regra que identifica caractersticas associadas a muitas posies iguais em
outras cenas, pois o critrio de contagem de nmero de pares classificava estas assinaturas
incompatveis como boas candidatas. O uso do critrio de distncia mdia entre os pontos das
assinaturas (segundo critrio), por sua vez, elimina estas caractersticas e naturalmente
contorna este problema, pois d classificaes inferiores a pares de pontos com posies
inconsistentes.
O software desenvolvido deve ser capaz de aplicar a extrao de caractersticas a um
conjunto grande de imagens, obtendo assinaturas de caractersticas especficas de cada uma
delas, atravs do SURF. O primeiro programa, que trata do percurso de gravao, recebe
como entrada o conjunto de imagens obtidas pelo rob no percurso guiado manualmente por
um humano. As assinaturas das imagens so ento obtidas e gravadas em uma base de
referncia de assinaturas. A assinatura utilizada foi de 64 bits, pois a assinatura de 128 bits
no resulta em melhoras significativas na qualidade dos descritores e acrescenta ao tempo de
processamento que significativo aps muitas repeties (Juan e Gwun, 2010). O segundo
programa, executado no percurso autnomo do rob, compara a assinatura da cena atual da
cmera com as assinaturas previamente salvas. Testes offline preliminares, utilizando a
cmera real e o simulador Stage no lugar do rob real, verificaram o funcionamento de ambas
as etapas do rob. a qualidade da associao de pontos de referncia entre imagens, tanto em
ambientes ricos em detalhes visuais, com muitos elementos distintos, quanto em reas vazias.

Figura 4.5: Erro de comparao do SURF em imagens com poucas caractersticas. O critrio de escolha de
imagens por proximidade espacial desclassifica estes resultados.

- 55 -

4.4.4 Travessia de Portas


Um dos desafios fundamentais da navegao de robs em ambientes internos envolve
lidar com os espaos estreitos e a pouca liberdade para manobras. Uma situao que resume
muito bem este tipo de problema a travessia de portas. razovel assumir que em um
ambiente interno um rob mvel ir se deparar com portas e passagens. Alm disso, curvas
fechadas em corredores exigem manobras de preciso semelhante.
importante, assim, que um algoritmo de localizao seja capaz de lidar com estas
situaes. O sucesso de uma possvel manobra para travessia de porta depender da preciso
do posicionamento do rob e da capacidade do mesmo de evitar erros de odometria. Este um
problema comum especialmente quando no se usa sensores de distncia, e isso ainda mais
evidente nas situaes em que o rob precisa dobrar uma esquina com um ngulo pequeno; a
falta de espao impede que o rob realize uma manobra mais suave, o que significa que na
configurao com cmera fixa o rob deve se posicionar em relao porta com esta fora do
campo de viso limitado da cmera. Se houver uma parede ou obstruo prxima frente do
rob o problema fica mais difcil, pois a cmera frontal fixa estar muito prxima do
obstculo para obter uma quantidade suficiente de pontos distintos.
Existem diversas abordagens para garantir o alinhamento correto do rob em situaes
que demandam tal preciso. A abordagem sugerida neste trabalho a adio de uma cmera
extra no rob que auxilie o sistema nesta tarefa. As cmeras seriam posicionadas
perpendicularmente uma outra, sendo que uma das cmeras permanece voltada para a frente
do rob como no sistema original, e a outra para os lados. Isso reduz o problema do ponto
cego enquanto o rob se alinha passagem, j que uma porta aberta de uma sala ou corredor
so cenas mais ricas em pontos de referncia. Para demonstrar o funcionamento de um
sistema com cmera extra e para exemplificar como ele pode ser usado para soluo do
problema de travessia de portas, foram feitos testes offline com duas cmeras utilizando o
algoritmo de memria proposto e o mtodo de SURF para pareamento.
O princpio da demonstrao da localizao proposta foi simular uma situao real de
travessia de porta. Uma sequncia de imagens foi tomada mostrando o alinhamento do rob
com a porta. Em uma aplicao prtica, a presena de uma porta lateral ou alguma outra curva
de ngulo fechado pode ser inferida pela odometria associada ao mapa; se houver grandes
- 56 -

variaes angulares (z) com poucas variaes de posio (x, y) entre as imagens do mapa de
memria do rob, a cmera lateral deve ser usada para alinhamento e pareamento. A cmera
lateral deve possuir o prprio mapa de memria, obtido no percurso de gravao. Este mapa
pode ser reduzido e s incluir reas prximas a portas para diminuir a quantidade de imagens
armazenadas. Na prtica, o mtodo SURF dever parear a cena que o rob captura pela
cmera lateral cena mais adequada da memria, que indique o melhor alinhamento com a
porta (Figura 4.6). Quando o movimento concludo, na aplicao sugerida o controle de
localizao pode retornar cmera frontal. Da mesma forma que na proposta do critrio de
mdia de distncias entre caractersticas visuais para a localizao global, aplicamos aqui um
critrio alternativo para o pareamento entre imagens: utilizamos neste caso a variao de
distncia da posio em pixels no eixo X de caractersticas pareadas em diferentes imagens
como critrio para determinar o pareamento, j que esta a direo do movimento da cena em
relao cmera lateral. O deslocamento das caractersticas visuais acentuado, portanto, no
eixo X (eixo horizontal).

Figura 4.6: O rob observa a porta com a cmera lateral, buscando parear a imagem observada com a imagem
memorizada, que representa o ponto timo para manobra.

- 57 -

5 Resultados e Concluses
Nas sees seguintes, detalharemos os resultados dos experimentos realizados.
Primeiramente, avaliaremos os resultados do teste de localizao global. Os testes relativos
travessia de portas sero relacionados e sero apresentados a seguir. Finalmente, discutiremos
a aplicao prtica da metodologia no sistema de navegao de ambientes internos proposto.
Em cada seo, os resultados destes experimentos sero analisados e as concluses tiradas
sero apresentadas.

5.1 Testes e Resultados da Localizao Global

Para o teste da localizao global, o percurso de gravao foi realizado em dois


percursos distintos, em ambientes internos. A Figura 5.1 mostra exemplos de imagens
capturadas de cada um dos trajetos realizados com o rob. O rob foi guiado por um ser
humano realizando a gravao dos percursos. Cada percurso usado cobriu um trajeto de cerca
de 20 metros, com cerca de 250 imagens em cada percurso. Em cada um dos percursos,
realizamos duas repeties do trajeto, cada uma gerando uma base de imagens diferente. Isso
possibilitou realizar a localizao em um mesmo ambiente sob condies diferentes
(principalmente variaes de dia e noite e pequenas alteraes em elementos da cena).
Para este teste de localizao, o valor considerado para clculo do erro foi o
deslocamento na direo do movimento do rob apenas. Translaes e deslocamentos
angulares causados por imperfeies no movimento do rob foram desconsiderados. Alm de
ser a coordenada mais significativa, a coordenada da direo do deslocamento do rob , via
de regra para robs terrestres, menos afetada por erros de odometria que o deslocamento
angular.
De acordo com o primeiro critrio, a imagem do percurso da memria com o maior
nmero de caractersticas visuais pareadas com a imagem do percurso atual a melhor
candidata a representar a posio atual do rob. De acordo com o segundo critrio, a melhor
candidata a ser selecionada entre as imagens aquela cuja disparidade mdia de distncias no
eixo Y entre as imagens menor.
- 58 -

Figura 5.1: Diversos dos tipos de quadros encontrados no ambiente interno percorrido.

Cada caracterstica visual extrada pelo SURF possui coordenadas (X, Y), contadas em
pixels, que denotam sua posio na imagem. Duas caractersticas visuais pareadas entre duas
imagens possuem cada uma sua respectiva coordenada (X, Y). Subtraindo-se as coordenadas
das caractersticas uma da outra, temos a diferena de posio entre os pontos em suas
respectivas imagens. Por exemplo, a diferena de distncia entre duas imagens A e B, com
coordenadas (Xa, Ya) e (Xb, Yb), respectivamente, ser dada no eixo X por |Xa Xb| e por |Ya Yb| no eixo Y. A diferena representa a distncia e portanto tomada em mdulo; o sinal no
importante. O segundo critrio prope que se a mdia aritmtica das diferenas de posio
das caractersticas de duas imagens pequena, as perspectivas das duas cenas so prximas.
Como no caso queremos estimar a localizao na coordenada da direo de movimento do
rob, tomamos a diferena de distncias no eixo Y, ou seja, os valores de |Ya - Yb| para cada
caracterstica (ignorando assim variaes de translao e rotao). Pares de imagens que
apresentaram um nmero baixo de pares (testes indicaram que um mnimo de cinco pares
um bom pr-requisito para as imagens candidatas) eram eliminados, para evitar falso-

- 59 -

positivos no clculo deste segundo critrio. Ambos os critrios foram testados sobre os
mesmos conjuntos de imagens.
A Figura 5.2 e a Figura 5.3 mostram exemplos dos resultados do pareamento de
assinaturas entre duas imagens, e mostram exemplos da diferena de resultados obtidos com o
uso dos dois critrios a partir da mesma imagem observada (imagens da esquerda).

Figura 5.2: Estes dois pares mostram diferentes resultados (imagens da direita) obtidos pelos critrios diferentes
(primeiro critrio em cima, segundo critrio embaixo), para a mesma imagem (a imagem da esquerda a mesma
nos dois casos).

Podemos notar na figura a diferena entre os critrios. Nas duas figuras, pelo primeiro
critrio (par de imagens de cima), v-se um nmero maior de pares. No segundo critrio (par
de imagens de baixo) vemos um nmero menor de pares, mas caractersticas espacialmente
prximas em sua posio no eixo vertical. A diferena de erro entre a imagem observada e a
imagem eleita da memria foi medida como a diferena entre os dados odomtricos
associados s duas imagens. Para isso essencial que o rob comece os dois percursos no
mesmo lugar pois a odometria relativa origem do movimento. Analisando todas as
- 60 -

comparaes realizadas, calculamos que para o primeiro critrio, o erro mdio da localizao
estimada em relao localizao armazenada adquirida pela odometria, na coordenada da
direo do deslocamento, foi de 23.98 cm, e o desvio padro calculado foi de 40.52 cm. Para
o segundo critrio, com o mesmo conjunto de dados, o erro mdio da localizao estimada em
relao localizao real foi de 16.26 cm. O desvio padro neste caso foi de 25.13 cm.
Em um computador Intel Core 2 Duo 2.20GHz com 2 GB de RAM, o tempo mdio de
processamento para aquisio das caractersticas da imagem observada (o que s precisa ser
feito uma vez por imagem de entrada) foi de 330 ms. O tempo mdio obtido para comparao
entre duas assinaturas, que foi realizado para todas as imagens do conjunto, foi de 85 ms por
imagem. Isto mostra que especialmente o descritor do mtodo SURF permite comparao
rpida de imagens, adequado para uso em tarefas em tempo real, dependendo da aplicao.

Figura 5.3: Pares de resultados obtidos pelos dois critrios em um ambiente diferente.

Para reduzir o nmero de comparaes, em uma situao prtica para manter a localizao,
pode-se ainda usar o conhecimento sobre a posio do rob para eliminar comparaes
irrelevantes, buscando-se apenas imagens prximas posio anterior conhecida do rob.
- 61 -

A Figura 5.4 mostra grficos dos resultados de trs imagens diferentes obtidas em
pontos distintos do trajeto em relao base de dados. O crculo vermelho representa o ndice
onde houve maior nmero de pareamentos para cada imagem. A imagem usada na linha rosa
do grfico foi um corredor longo e vazio, a imagem usada na linha azul foi um corredor curto
(prximo parede) e a imagem usada na linha verde foi dentro de uma sala, com muitas
caractersticas visuais complexas. A partir disto podemos ver o perfil das cenas: corredores
longos apresentam variaes suaves no nmero de pares, e devido falta de caractersticas
marcantes, apresentam menos pares no geral; a sala, por outro lado, apresentou grandes
quantidades de caractersticas visuais devido ao alto nmero de caractersticas de destaque no
ambiente, e apresentou variaes mais bruscas no nmero de caractersticas devidas
variao mais acentuada de perspectiva. A imagem tomada no corredor curto apresenta um
meio termo entre estes dois casos.

Figura 5.4: Nmero de pares (matches) obtidos pelo mtodo SURF em relao a diferentes imagens, comparado
a uma mesma base de imagens.

A Figura 5.5 mostra diversos exemplos dos resultados de pareamento obtidos entre
diversas assinaturas. possvel ver como nmeros maiores de pares associados de

- 62 -

caractersticas visuais aparecem em imagens de perspectivas mais prximas, e onde h mais


caractersticas evidentes.

Figura 5.5: O Mosaico mostra a diferena que variaes sutis de perspectiva causam no nmero pares de
caractersticas visuais em diversas situaes.

A Tabela 1 apresenta dois exemplos da comparao odomtrica realizada para verificar


a preciso do pareamento. Ela mostra os pareamentos em dois pequenos percursos de
aproximadamente 5 m, apresentando o nmero de pares obtidos e as diferenas de odometria
calculadas. Note que no primeiro exemplo o melhor nmero de pares foi 24, em imagem que
apresentou erro de 24 cm. O valor est destacado em negrito na tabela.
- 63 -

Tabela 1: Exemplo de pareamentos em trecho - Nmero de pares e diferena odomtrica (m)

10
3
6
4
9
8
5
6
6
6
4
11
8
7
6
9
9
6

-3.47
-3.47
-3.47
-3.47
-3.47
-3.47
-3.45
-3.43
-3.39
-2.35
-3.27
-3.13
-3.05
-2.99
-2.95
-2.89
-2.85
-2.85

11
7
9
12
7
8
8
8
4
3
6
4
4
9
7
8
7
8

-2.84
-2.84
-2.84
-2.81
-2.81
-2.81
-2.81
-2.80
-2.77
-2.74
-2.72
-2.70
-2.69
-2.67
-2.59
-2.49
-2.40
-2.39

13
10
15
13
15
17
9
14
17
11
15
15
15
16
12
11
4
10

-2.36
-2.36
-2.34
-2.30
-2.22
-2.12
-1.69
-1.65
-1.51
-1.41
-1.30
-1.27
-1.23
-1.14
-1.08
-1.04
-0.98
-0.95

7
9
7
10
16
19
18
16
16
18
21
18
15
17
16
21
18
18

-0.92
-0.91
-0.87
-0.84
-0.84
-0.84
-0.84
-0.84
-0.81
-0.79
-0.77
-0.75
-0.72
-0.60
-0.52
-0.42
-0.36
-0.29

24*
18
19
21
18
15
17
22
23
19
21
21
17
19
22
20
18
14

-0.24*
-0.22
-0.21
-0.19
-0.04
+0.03
+0.19
+0.27
+0.37
+0.45
+0.51
+0.61
+0.70
+0.80
+0.88
+0.98
+1.05
+1.12

5.2 Testes e Resultados da Travessia de Portas


Em um conjunto de imagens organizadas topologicamente como o utilizado neste
trabalho, a localizao relativa a marcos significativos do ambiente como portas e
cruzamentos muito importante. A seguir apresentamos os testes de um sistema para
deteco de portas, e analisamos a preciso da localizao para uma possvel manobra de
travessia da porta.
Os testes da travessia de portas se deram de forma semelhante aos testes de localizao
global, mas em um escopo reduzido. Para deteco e alinhamento em relao porta, no
necessrio que longos percursos sejam gravados, apenas o percurso nas redondezas imediatas
da porta qual o rob ir se alinhar. Assim evita-se que erros maiores de odometria afetem as
medies. Para o teste, foi considerada uma situao comum em ambientes internos, em que o
rob navega em um corredor e dever realizar uma curva de 90 para alinhar-se com a porta e
entrar.

- 64 -

Como dito, neste teste a cmera foi posicionada lateralmente ao rob, de forma
perpendicular cmera frontal. A medida de largura do rob de 49.7 cm, e a medida da
porta em questo 80.0 cm, o que permite ao rob uma margem de erro de cerca de 15 cm para
qualquer dos lados para realizao da manobra. Cinco imagens do ponto em que o rob est
alinhado ao centro da porta (o ponto ideal para realizao da manobra) foram obtidas, em
distncias variadas em relao porta. A distncia destes pontos em relao porta foi
medida. O rob foi orientado paralelamente ao centro do corredor, e posicionado em uma
marcao no cho para que a partida em todos os percursos ocorresse da mesma posio. Em
cada percurso gravado, a informao odomtrica foi calculada. Assim, o percurso gravado
consistiu da passagem do rob por toda a extenso da porta. Por fim, as imagens tomadas pela
cmera lateral do rob em cada um dos 8 percursos foram comparadas aos cinco quadros
centrais obtidos, e buscou-se determinar qual das imagens de cada um dos conjuntos obtidos
(cada conjunto possuindo entre 150 e 300 imagens) melhor representava a imagem central da
porta. Assim, foram obtidos 40 resultados. Sabendo-se o valor da odometria da imagem em
questo, foi possvel estimar o erro entre a posio real do centro da porta, ideal para a
manobra, e a posio da imagem escolhida para a manobra do rob.
As comparaes entre as imagens base e os percursos no se deram apenas pela
contagem do nmero de caractersticas SURF obtidas pelo pareamento de cada par de
imagens. Analogamente ao segundo critrio proposto no teste de localizao global (a mdia
das distncias entre as caractersticas), utilizou-se neste caso a mdia da distncia das
caractersticas no eixo X (no caso, |Xa - Xb|). Com a cmera lateral, o rob se desloca
perpendicularmente direo da cmera, e a variao de perspectiva mais acentuada no eixo
X. Neste caso, portanto, o mtodo usado foi o clculo da distncia entre as assinaturas das
imagens. O nmero de pares foi usado para que fosse possvel eliminar casos com nmeros
muito pequenos de pares (um mnimo de 5 pares foi considerado requisito razovel para
considerao de um quadro candidato). Considerando-se apenas casos em que o pareamento
oferece 5 ou mais pares positivos, o dx das assinaturas (a distncia no eixo X, dada pela
diferena em pixels entre cada caracterstica visual de cada imagem) foi calculado. Quanto
menor o dx, mais prxima a posio das assinaturas relativamente s suas respectivas
imagens, e maior a proximidade das perspectivas. Assim, o pareamento com o menor valor de
dx foi considerado o melhor candidato. Este sistema obteve um erro mdio de odometria de
- 65 -

8.63 cm, com desvio padro de 6.72 cm. Em 90% dos casos o erro foi pequeno o suficiente
(menor que 15 cm) para que a manobra fosse realizada com sucesso. A Figura 5.6 mostra um
exemplo de resultado do mtodo.

Figura 5.6: Exemplo de resultado da travessia de porta, baseado na distncia entre caractersticas no eixo X.

Estes resultados mostram que a cmera lateral permite a localizao da porta com boa
preciso. Em uma situao real, uma configurao semelhante a essa com pan-tilt pode ser
usada para que as cmeras possam observar ambos os lados do rob (no simultaneamente).
Devido ao fato de que a deteco de portas consiste de manobras precisas relativas a
obstculos prximos, os pontos de referncia gerados pelo SURF pertencem a caractersticas
reais que esto mais prximas cmera. Assim, o deslocamento do rob acarreta em
deslocamentos mais evidentes destas caractersticas relativamente ao observador (cmera).
Este aspecto favorece o resultado do mtodo SURF baseado no critrio de distncia entre
caractersticas visuais, pois a distino entre imagens maior sem que haja necessidade de
grandes deslocamentos, ao contrrio da localizao global em que muitas imagens da base de
dados consistem de longos corredores com caractersticas distantes. O fato de o deslocamento
do rob ser perpendicular orientao da cmera tambm favorece a percepo de
movimento. Estes fatores explicam os melhores resultados obtidos neste caso, em relao
localizao global com o deslocamento estimado atravs da cmera frontal.

- 66 -

6 Discusso
O projeto proposto teve por objetivo desenvolver um sistema de baixo custo de
localizao a partir de viso computacional, atravs do uso de cmera monocular como
principal sensor. Visou-se determinar a possibilidade do uso de mtodos detectoresdescritores de caractersticas em situaes complexas, na localizao do rob em ambientes
internos, onde h poucos elementos de destaque no ambiente e com variaes sutis de
perspectiva.
De acordo com a anlise em (Mikolajczyk e Schmid, 2005), mtodos detectoresdescritores baseados em espao de escala, como o SURF, so especialmente adequados a
perceber variaes de textura. Um ambiente interno tpico como os utilizados no projeto
possui diversidade de texturas menor que ambientes externos. Ainda assim, com parmetros
de threshold padro, o mtodo resultou em quantidades suficientes de pontos detectados,
exceto nos casos discutidos de proximidade a paredes e reas desprovidas de caractersticas
distintas. Assim, espera-se que o mtodo funcione to bem ou at melhor em ambientes
externos.
Nos testes, o SURF gerou boa preciso de localizao com ambos os critrios
individualmente. Acreditamos que o nmero de pares seja uma boa opo para localizao
global mais grossa (coarse), enquanto o mtodo de distncia em pixels entre as
caractersticas seja uma boa alternativa para refinar os resultados e encontrar a melhor
imagem em uma vizinhana de imagens prximas. O critrio de distncias mdias eficaz no
ambiente proposto, mas baseia-se em assumir que caractersticas visuais com posies
prximas na imagem 2D observada so prximas na realidade tridimensional. Casos onde isso
no verdade (o efeito paralaxe) podem acarretar em falso-negativos. Com ajustes
paramtricos estima-se que seja possvel utilizar este sistema em ambientes externos. Ainda
assim, os resultados mostram que o conhecimento da aplicao e do contexto do ambiente
permitiu que o critrio original fosse aperfeioado atravs da adio de uma nova forma de
classificao das comparaes entre assinaturas. O novo critrio contextualizado apresentou
melhores resultados que o critrio mais geral.

- 67 -

Pretende-se realizar testes para verificar possveis combinaes entre os dois critrios e
explorar a interao entre eles. Em aplicaes que necessitam de mais robustez, porm,
possvel obter-se melhores resultados sem abrir mo da configurao com apenas uma
cmera. Outros mtodos de localizao que podem ser usados com cmera monocular
incluem tcnicas de odometria visual como desenvolvido por Levin e Szeliski, (2004) e fluxo
ptico como em Sokolov et al., (2010). O OpenSURF, implementao usada do SURF,
oferece mtodos de estimativa de movimento por fluxo ptico, que pode ser estimado
comparando-se a posio dos pontos obtidos na imagem atual com a posio dos pontos em
imagens anteriores (Figura 6.1).
Uma alternativa para tornar o sistema mais resistente a alteraes no ambiente a
atualizao do mapa do ambiente. Isto pode ser realizado se a localizao do rob for
confivel no momento e se a perspectiva for adequada. Durante a navegao, o rob gera um
novo conjunto de imagens do ambiente para substituir uma regio do conjunto de imagens
memorizadas anteriormente, ou para gerar um novo conjunto a ser usado juntamente ao
anterior, em ambos os casos assimilando alteraes no ambiente. Neste caso, tcnicas
complementares de navegao como as j mencionadas devem ser usadas para garantir a
preciso odomtrica e compensar dificuldades do mtodo de extrao de caractersticas
visuais causadas por variaes no ambiente.

Figura 6.1: Fluxo ptico. esquerda, um exemplo do trabalho de Sokolov et al., (2010). direita, o fluxo
estimado atravs do OpenSURF.

- 68 -

A localizao global proporcionou bons resultados com custo computacional reduzido,


e robustez a diferenas na imagem. A simetria natural de certos ambientes internos torna
muitas vezes necessrio que mtodos probabilsticos como o Filtro de Partculas utilizando
um laser iterativamente aproximem sua posio durante a navegao. Nos testes realizados
com o SURF, a localizao pode ocorrer com preciso atravs da comparao de apenas um
quadro, sendo que possvel a adaptao de mtodos como o Filtro de Partculas para a tarefa
de viso. De forma semelhante ao que foi realizado na navegao desenvolvida, possvel
tambm aperfeioar a localizao em relao s caractersticas observando as distores na
assinatura observada, de escala e de rotao e translao, que denotam variaes de
perspectiva (Jafar et al., 2010) de modo similar s abordagens probabilsticas para localizao
com sensores de range. Isto ofereceria uma estimativa de localizao em relao assinatura
a partir de pontos de vista distintos.
A sugesto de travessia de portas com duas cmeras uma alternativa vivel para
muitas aplicaes. O custo e a carga computacional de um projeto ainda seriam inferiores aos
de um sistema com cmeras estereoscpicas. Dependendo dos requisitos de preciso, a
cmera secundria da configurao proposta pode ser utilizada apenas em situaes crticas
como em locais prximos a portas, locais que exijam manobras complexas ou locais que no
mapa de memria produzem poucos pontos de interesse na cmera principal. Configuraes
de cmeras estereoscpicas necessitam de calibragem que requer preciso e gastos
computacionais elevados, alm de no proporcionar o aumento no campo de vista obtido com
a configurao proposta neste projeto.
A cmera lateral pode ser utilizada com a configurao completa em pan-tilt, ou apenas
a cmera secundria. No caso de uma cmera frontal fixa e cmera secundria em um pan-tilt,
possvel que a cmera secundria tenha liberdade de apontar para a rea onde mais pontos
de referncia so obtidos naquele momento, inclusive para trs, o que a torna til em uma
configurao de corredor. Todas estas configuraes alternativas proporcionam informao
adicional ao sistema em relao apenas uma cmera, com o custo de uma cmera extra e
aumento no processamento necessrio, ento a aplicao deve ser considerada na deciso.
Os aprimoramentos citados, porm, aumentam o custo computacional do mtodo.
Outras aplicaes tambm podem exigir tempos de processamento menores que os aqui
obtidos no projeto proposto. Para estes casos, existem implementaes de SURF realizadas
- 69 -

em hardware como FPGAs, que reduzem muito o tempo para computao do algoritmo (Se et
al., 2004).
No que se refere aplicao em patrulha e monitoramento de robs mveis para
ambientes internos, relacionada com o INCT-SEC, acreditamos que os resultados mostram
que o projeto pode ser aplicado em um sistema real. possvel integrar o mtodo usado neste
trabalho com as alternativas apresentadas anteriormente e com diversas outras tcnicas de
acordo com a aplicao. Alm do sistema de localizao proposto, por exemplo, possvel
adicionar-se um sistema de deteco de pessoas. Tal funcionalidade seria til em um sistema
de monitoramento interno, que pode incluir segurana contra invases. Deteco de pessoas
tambm oferece ao sistema robustez ao dinamismo do ambiente (trfego de pessoas), e pode
ser alcanado atravs de mtodos usando fluxo ptico ou deteco de movimento (Dalal et al.,
2006, Lin et al., 2010, Zhao e Nevatia, 2004). A tcnica de fluxo ptico pode at mesmo ser
aplicada para deteco de obstculos e pessoas usando os prprios pontos obtidos com um
detector de caractersticas visuais, semelhante proposta usada em (Campbell et al., 2005).
Mesmo com esses aprimoramentos, acreditamos que seja possvel o projeto de um
sistema de navegao simples e eficiente utilizando os resultados obtidos. Apresentaremos a
seguir a proposta de um sistema de navegao e manuteno de localizao baseado nos
resultados obtidos para ambientes internos.

6.1 Consideraes Finais e Trabalhos Futuros

A interseco entre as reas de viso computacional e a robtica mvel ampla e


diversa em aplicaes e mtodos. Entre as possveis abordagens, o uso na robtica de cmeras
monoculares simples de especial nota por causa do baixo custo aliado riqueza de
informaes oferecidas. Este trabalho apresentou um mtodo de localizao global e local
utilizando deteco de pontos de referncia, atravs de um mtodo detector-descritor baseado
em espao de escala, em um mapa visual memorizado pelo rob. Apresentou-se tambm
como este mtodo pode ser usado em um caso particular como a travessia de portas. Os
experimentos e resultados obtidos nesta dissertao foram publicados em (Couto e Osrio,
2012).
- 70 -

Observou-se que ambos os critrios de pareamento usados possuem vantagens e


desvantagens dependendo da situao. Para trabalhos futuros, prope-se integrar os dois
critrios propostos para pareamento entre imagens. Acredita-se que o critrio de contagem de
pares seja mais eficiente na localizao global e o critrio de distncias mdias se mostrou
mais eficiente em ajustes finos. Pretende-se testar o uso em conjunto dos critrios e sua
aplicao em ambientes externos, onde o detector-descritor SURF retorna melhores resultados
e efeitos de paralaxe podem causar problemas para o critrio de distncias mdias. Em curto
prazo, testes mais detalhados do sistema de navegao e localizao local proposto sero
realizados. Pretende-se tambm integrar o sistema com tcnicas de odometria visual para
maior robustez em situaes onde a extrao de caractersticas visuais no suficiente. Entre
os objetivos de mdio e longo prazo para a continuidade dos trabalhos, pretende-se explorar o
desenvolvimento de um sistema que seja capaz de realizar SLAM monocular atravs dos
pontos de referncia obtidos.
Trabalhos no LRM (Laboratrio de Robtica Mvel) vm sendo desenvolvidos com
sensores como o Kinect25. Sensores de range de baixo custo e alcance limitado como o Kinect
ou um sonar podem ser teis integrados com a cmera. Estes podem garantir a localizao
local do rob e a navegao reativa, enquanto a cmera, que no possui limitaes de alcance,
pode ser usada na localizao global, mantendo-se ainda uma configurao de custo
relativamente baixo. Outros trabalhos do laboratrio como (Sales et al., 2011), relativo
navegao por mapas topolgicos, tambm podem se aproveitar da localizao realizada com
um sensor de custo mais baixo que o laser.
Robs mveis tm sido aplicados para automatizao de diversas tarefas, conferindo
segurana e eficincia realizao das mesmas. Conforme a robtica se torna cada vez mais
ubqua na sociedade e seu papel torna-se cada vez mais determinante, as pesquisas na rea
crescem em importncia e atualidade. Espera-se que o trabalho realizado contribua com
objetivos de longo prazo das reas nas quais est inserido, como a melhor compreenso e
replicao do comportamento do sistema visual humano na viso computacional, bem como o
desenvolvimento de veculos mais autnomos e seguros na robtica mvel.

25

http://www.xbox.com/pt-BR/kinect, acesso em 01/2012.


- 71 -

Referncias Bibliogrficas
ABDEL-HAKIM, E.; FARAG A. A. CSIFT: A SIFT Descriptor with Color Invariant
Characteristics. Computer Vision and Image Processing Laboratory (CVIP) University of
Louisville, Louisville, KY, 2006.
AGRAWAL, M.; KONOLIGE, K.; BLAS, M.R. Censure: Center surround extremas for
realtime feature detection and matching. In D. A. Forsyth, P. H. S. Torr, and A. Zisserman,
editors, ECCV (4), volume 5305 of Lecture Notes in Computer Science, p. 102115.
Springer-Verlag New York, Inc., 2008.
ANGUELOV, D.; KOLLER, A.; PARKER, E.; THRUN, S. Detecting and Modeling Doors
with Mobile Robots. Proceedings of the IEEE International Conference on Robotics and
Automation (ICRA), 2004.
STRM, K. J; HGGLUND, T.; HANG, C. C.; HO, W. K. Automatic Tuning and
Adaptation for PID Controllers - A Survey. Control Engineering Practice. v. 1, n. 4, p.
699-714, 1993.
STRM, K. J.; MURRAY R. M. Feedback Systems: An Introduction for Scientists and
Engineers. Princeton University Press, 2008.
AZUMA, R. T. A Survey of Augmented Reality. Teleoperators and Virtual Environments v.
6, n. 4, p. 355-385, 1997.
BALLARD, D. H.; BROWN, C. M.: Computer Vision. Prentice Hall, 1982.
BANKMAN, D. J.: Study of compact stereoscopic system for target distance estimation.
Proceedings of SPIE, the International Society for Optical Engineering,
v. 6238, p. 62380E.1 - 62380E.7, 2006.
BASRI, R.; RIVLIN, E., SHIMSHONI, I. Visual Homing: Surfing on the Epipoles.
International Journal of Computer Vision. v. 33, n. 2, p. 117137, 1999.
BAUER, J.; SUNDERHAUF, N.; PROTZEL, P. Comparing several implementations of two
recently published feature detectors (Published Conference Proceedings style). In Proc of
the International Conference on Intelligent and Autonomous Systems, IAV, 2007.
BAZEILLE, S.; FILLIAT, D. Combining Odometry and Visual Loop-Closure Detection for
Consistent Topo-Metrical Mapping. Proccedings of the conference on COGnitive systems
with Interactive Sensors (COGIS2009). 2009.
BAY, H.; FASEL, B.; Van GOOL, L. Interactive Museum Guide: Fast and Robust
Recognition of Museum Objects. Proceedings of the first international workshop on
mobile vision, May 2006.
BAY, H.; TUYTELAARS, T.; Van GOOL; L. SURF: Speeded Up Robust Features.
Computer Vision and Image Understanding (CVIU), v. 110, n. 3, p. 346-359, 2008.
- 72 -

BEKEY, G. A. Autonomous robots: From Biological Inspiration to Implementation and


Control. MIT Press, 2005, 577 p.
BONATO, V. Projeto de um mdulo de aquisio e pr-processamento de imagem colorida
baseado em computao reconfigurvel e aplicado a robs mveis. Dissertao de
Mestrado, ICMC - Universidade de So Paulo, USP, Brasil, 2004.
BONIN-FONT, F.; ORTIZ, A.; OLIVER, G. Visual Navigation for Mobile Robots: A
Survey. Journal of Intelligent and Robotic Systems, v. 53, p. 263-296, 2008.
BRADSKI, G;, KAEHLER, A.: Learning OpenCV: Computer Vision with the OpenCV
Library. Cambridge, MA: OReilly Media, Inc., 2008.
BROWN, M.; LOWE, D.: Automatic Panoramic Image Stitching using Invariant Features.
International Journal of Computer Vision, v.74, n.1, p. 59-73, 2007.
BURGHOUTS, G. J.; GEUSEBROEK, J. M.: Performance Evaluation of Local Colour
Invariants. Computer Vision and Image Understanding, v. 113, p. 4862, 2009.
CALISI, D.; FARINELLI, A.; GRISETTI, G.; IOCCHI, L.; NARDI, D.; PELLEGRINI, S.;
TIPALDI, D.; ZIPARO, V. A. Contextualization in Mobile Robots. ICRA-07 Workshop on
Semantic Information in Robotics. Italy, 2007.
CAMPBELL, J.; SUKTHANKAR, R.; NOURBAKHSH, I.; PAHWA, A. A. Robust Visual
Odometry and Precipice Detection System Using Consumer-grade Monocular Vision.
Robotics and Automation, ICRA 2005. Proceedings of the 2005 IEEE International
Conference, p. 3421-3427, 2005.
CANNY, J. A Computational Approach to Edge Detection. IEEE Trans. Pattern Analysis
and Machine Intelligence, v. 8, n. 6, p. 679-698, 1986.
CASTRUCCI, P.; SALES, R. M. Controle Digital, v. 3. Editora Edgard Blcher, 1990.
CHEN, C-H; LEE, J-S; SUN, Y-N. Wavelet transformation for gray-level corner detection.
Pattern Recognition. v. 28, n. 6, p. 853-861, 1995.
CHEN, W-C; XIONG, Y.; GAO, J.; GELFAND, N.; GRZESZCZUK, R. Efficient
Extraction of Robust Image Features on Mobile Devices. In ISMAR 2007. Proceedings of
the 2007 6th IEEE and ACM International Symposium on Mixed and Augmented Reality,
Washington, DC, USA, p 1-2, 2007.
CHOSET, H.; LYNCH, K.; HUTCHINSON, S.; KANTOR, G.; BURGARD, W.;
KAVRAKI, L.; THRUN, S. Principles of Robot Motion. Cambridge, Massachussets. The
MIT Press, 2005.
COLLETT, T. H. J.; MacDONALD, B. A.; GERKEY, B. A. Player 2.0: Toward a Practical
Robot Programming Framework". In Proceedings of the Australasian Conference on
Robotics and Automation (ICRA 2005), Sydney, Australia, December 2005.
- 73 -

COUTO, L. N. Manipulao de imagens e anlise do processamento de imagens utilizando


hardware reconfigurvel. Trabalho de Concluso de Curso de Engenharia de Computao
- Universidade de So Paulo, USP, Brasil, 2008.
COUTO, L. N.; OSRIO, F. S. Autonomous Self-Localization of Mobile Robots through
Reference Point Based Computer Vision. Proceedings of CBSEC - Second Brazilian
Conference on Critical Embedded Systems, 2012. p. 1-5.
CROWLEY, J. L.; CHENAVIER, F. Position Estimation for a Mobile Robot Using Vision
and Odometry. Proceedings of the 1992 IEEE International Conference on Robotics and
Automation, p. 2588-2593, 1992.
DALAL, N.; TRIGGS, B.; SCHMID, C. Human Detection Using Oriented Histograms of
Flow and Appearance. Proceedings of ECCV , v.2, p. 428-441, 2006.
DAVIES, E. R. On the noise suppression and image enhancement characteristics of the
median, truncated median and mode filters. Pattern Recognition Letters, v. 7, p. 87-97,
1988.
DAVISON, A. J.; REID, I. D.; MOLTON, N. D.; STASSE, O. MonoSLAM: Real-Time
Single Camera SLAM. IEEE Transactions on Pattern Analysis and Machine Intelligence
(PAMI), v. 29, n. 6, p. 10521067, 2007.
De BERG, M.; CHEONG, O.; KREVELD, M.; OVERMARS, M. Computational Geometry:
Algorithms and Application, 3rd ed. Springer-Verlag, 2008.
DELAGE, E.; LEE, H.; NG, A.Y. Automatic Single-Image 3d Reconstructions of Indoor
Manhattan World Scenes. In Proceedings of ISRR, p. 305-321, 2005.
DELLAERT, F.; FOX, D.; BURGARD, W.; THRUN, S. Monte Carlo Localization for
Mobile Robots. IEEE International Conference on Robotics and Automation (ICRA99),
1999.
DeSOUZA, G. N.; KAK, A. C. Vision for Mobile Robot Navigation: A Survey. IEEE
Transactions on Pattern Analysis and Machine Intelligence, v. 24, p. 237-267, 2002.
DIJKSTRA, E. W. A Note on Two Problems in Connexion with Graphs. Numerische
Mathematik. v. 1, p. 269-271, 1959.
DUDA, R.O.; HART, P. E. Use of Hough transform to detect lines and curves in picture.
Communications of the ACM, v.15, n.1, p. 11-15, 1972.
DUDEK, G.; JENKIN, M. Computational Principles of Mobile Robotics. Cambridge:
Cambridge University Press, 2000.
DUDEK, G.; MARINAKIS, D. Topological Mapping with Weak Sensory Data.
InProceedings of AAAI, p. 1083-1088, 2007.

- 74 -

DUSHA, D.; BOLES, W.; WALKER, R. Attitude Estimation for a Fixed-Wing Aircraft
Using Horizon Detection and Optical Flow. In DICTA, p. 485-492, 2007.
EBRAHIMI, M.; MAYOL-CUEVAS, W.W. SUSurE: Speeded Up Surround Extrema Feature
Detector and Descriptor for Realtime Applications. In Computer Vision and Pattern
Recognition Workshops. CVPR Workshops 2009. IEEE Computer Society Conference, p.
9-14, 2009.
ELFES, A. Using occupancy grids for mobile robot perception and navigation. IEEE
Computer Society Press, v. 22, p. 22:4657, 1989.
EVANS, C. Notes on the OpenSURF Library. University of Bristol, 2009.
FITZGIBBON, A.W.; ZISSERMAN, A. Automatic Camera Recovery for Closed or Open
Image Sequences. European Conference on Computer Vision, p. 311-326, 1998.
FORSSN, P. E.; MEGER, D.; LAI, K.; HELMER, S.; LITTLE, J. J.; LOWE, D. G.
Informed Visual Search: Combining Attention and Object Recognition. 2008 IEEE
International Conference on Robotics and Automation Pasadena, CA, USA, 2008.
FORSYTH, D. A.; PONCE, J. Computer Vision: A Modern Approach. Prentice Hall, 2003.
FOX, D.; BURGARD, W. THRUN, S. Markov Localization for Mobile Robots in Dynamic
Environments. Journal of Artificial Intelligence Research v. 11, p.391-427, 1999. 391-427
FROME, A.; CHEUNG, G.; ABDULKADER, A.; ZENNAROL, M.; WUL, B.; BISSACCO,
A.; ADAM, H.; NEVEN, H.; VINCENT, L. Large-scale Privacy Protection in Google
Street View. IEEE 12th International Conference on Computer Vision Issue: ICCV,
Publisher, p. 2373-2380, 2009.
GERKEY, B.; VAUGHAN, R.T.; HOWARD, A. The Player/Stage Project: Tools for MultiRobot and Distributed Sensor Systems. In Proceedings of the 11th International
Conference on Advanced Robotics (ICAR 2003), p. 317-323, Coimbra, Portugal, June
2003.
GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing, 3rd Ed. Prentice Hall, 2008.
GUEAIEB, W.; MIAH, S. A Modular Cost-Effective Mobile Robot Navigation System Using
RFID Technology. Journal of Communications, vol. 4, n. 2, 2009.
HARRIS, C.; STEPHENS, M. J. A combined corner and edge detector. Plessey Research
Roke Manor, United Kingdom. The Plessey Company plc., 1988.
HAYKIN, S. Neural Networks: A Comprehensive Foundation. McMaster University, Ontario
Canada. Prentice Hall, 1999, 842 p.
HAYKIN, S.; Van VEEN, B.:Signals and Systems, 2nd Edition. John Wiley & Sons, 2002.

- 75 -

HEINEMANN, P.; HAASE, J.; ZELL, A. A Combined Monte-Carlo Localization and


Tracking Algorithm for RoboCup. Proceedings of the 2006 IEEE/RSJ International
Conference on Intelligent Robots and Systems. Beijing, China, 2006.
HORN, B. K. P.; SCHUNCK, B. G. Determining optical flow: A Retrospective. Artificial
Intelligence. v. 59, n. 1-2, p. 81-87, 1993.
HOUGH, P. V. C. Machine Analysis of Bubble Chamber Pictures. International Conference
on High Energy Accelerators and Instrumentation, CERN, 1959.
HOWIE, M. C.; LYNCH, K. M.; HUTCHINSON, S.; KANTOR, A.; BURGARD, W.;
KAVRAKI, L. E.; THRUN, S. Principles of robot motion: theory, algorithms, and
implementation. 2005, 302 p.
HUYNH, D. Q.; SAINI, A.; LIU, W. Evaluation of three local descriptors on low resolution
images for robot navigation. Image and Vision Computing New Zealand, 2009. IVCNZ '09.
24th International Conference, p. 113-118, 2009.
JAFAR, F. A.; SUZUKI, Y.; TATENO, Y. Localization Method for Autonomous Mobile
Robot using Visual Features in Environment. International Journal of Intelligent
Information Technology Application, v. 2, n. 4, p. 169-176, 2009.
JAFAR, F. A.; SUZUKI, Y.; TATENO, Y.; TABATA, T.; YOKOTA, K. An environmental
visual features based navigation for mobile robot in a corridor environment. In Robotics
and Biomimetics (ROBIO), 2010 IEEE International Conference, p. 1612-1617, 2010.
JHNE, B. Digital Image Processing. 6th revised and extended. Springer-Verlag New York,
Inc., 2005.
JAIN, A.; HONG, L.; PANKANTI, S. Biometric Identification. Communications of the ACM.
v. 43, n. 2, p. 90-98, 2000.
JOLLIFFE, I. T. Principal Component Analysis. Springer-Verlag New York, Inc., 2002, 487
p.
JONES, S. D.; ANDERSEN, C.; CROWLEY, J. L. Appearance Based Processes for Visual
Navigation. IROS '97, IEEE International Conference on Intelligent Robots and Systems,
IROS 97, Grenoble, 1997.
JUAN, L.; GWUN, O. A Comparison of SIFT, PCA-SIFT and SURF. International Journal
of Image Processing (IJIP), v. 3, n. 4, p.143-152, 2010.
KAESS, M.; DELLAERT, F. Probabilistic Structure Matching for Visual SLAM with a
Multi-Camera Rig. Computer Vision and Image Understanding, 2009.
KALMAN, R. E. A New Approach to Linear Filtering and Prediction Problems. Journal of
Basic Engineering, v. 82 (Series D): p. 35-45, 1960.

- 76 -

KEL, Y.; SUKTHANKAR, R. PCA-SIFT: A More Distinctive Representation for Local


Image Descriptors. In IEEE Computer Society Conference on Image Processing and
Pattern Recognition, p. 506513, 2004.
KHUBITZ, O.; BERGER, M. O.; PERLICK, M. Application of radio frequency identification
devices to support navigation of autonomous mobile robots. 47th IEEE Vehicular
Technology Conference, 1997.
KIDONO, K.; MIURA, J.; SHIRAI, Y. Autonomous visual navigation of a mobile robot
using a human-guided experience. Robotic Autonomous Systems, v. 40, n.23, p. 121130,
2002.
KIM, D.; NEVATIA, R. Symbolic Navigation with a Generic Map. Journal Autonomous
Robots Archive, v. 6, n. 1, 1999.
KORTENKAMP, D.; BONASSO, R. P.; MURPHY, R. Artificial Intelligence and Mobile
Robots. Massachusetts: The MIT Press, 1988.
KRAGIC, D.; CHRISTENSEN, H. Survey on Visual Servoing for Manipulation. Tech. Rep.
ISRN KTH/NA/P, 02/01 SE, Jan. 2002, CVAP 259, 2002, 58 p.
KMMERLE, R.; GRISETTI, G.; STACHNISS, C.; BURGARD, W. Simultaneous
Parameter Calibration, Localization, and Mapping for Robust Service Robotics. In Proc. of
the IEEE Workshop on Advanced Robotics and its Social Impacts (ARSO). Half Moon
Bay, CA, USA, 2011.
KUS, M. C.; GKMEN, M.; ETANER-UYAR, S. Traffic Sign Recognition using Scale
Invariant Feature Transform and Color Classification. 23rd International Symposium on
Computer and Information Sciences, ISCIS '08, 2008.
LAGANIRE, R. OpenCV 2 Computer Vision Application Programming. Cookbook. Packt
Publishing Ltd, 2011, 287 p.
LAUMOND, J. P. Feasible Trajectories for Mobile Robots with Kinematic and Environment
Constraints. International Conference on Intelligent Systems, Amsterdam, p. 346-354,
1986.
LEFEBVRE, T.; BRUYNINCKX, H.; SCHUTTER, J. D. Kalman Filters for nonlinear
systems: a comparison of performance. IEEE Transactions on Automatic Control, 2001.
LEONARD, J. J.; DURRANT-WHYTE, H. F. Simultaneous Map Building and Localization
for an Autonomous Mobile Robot. International Workshop on Intelligent Robots and
Systems, IROS'91. Osaka, Japan, 1991.
LEVIN, A.; SZELISKI, R. Visual Odometry and Map Correlation. In IEEE Computer
Society Conference on Computer Vision and Pattern Recognition (CVPR2004), p. 611618, 2004.

- 77 -

LIN, Y.; GUO, F.; LI, S. Improvement of optical flow in pedestrian detection based on
pictorial structure. In Intelligent Computing and Intelligent Systems (ICIS), 2010 IEEE
International Conference, v. 3, p. 917-921, 2010.
LOWE, D. G. Distinctive Image Features from Scale-Invariant Keypoints. Computer Science
Department of University of British Columbia. Vancouver, B.C., Canada, 2004.
LOWE, D. G.; SU, S.; LITTLE, J. Vision-based Mobile Robot Localization And Mapping
using Scale-Invariant Features. Computer Science Department of University of British
Columbia. Vancouver, B.C., Canada, 2001.
LUCAS, B. D.; KANADE, T. An Iterative Image Registration Technique with an Application
to Stereo Vision (IJCAI). 7th International Joint Conference on Artificial Intelligence
(IJCAI), p. 674-679, April, 1981.
LUH, G.; LIU, W. An immunological approach to mobile robot reactive navigation. Applied
Soft Computing, v. 8, p. 30-45, 2008.
MAJUMDAR, A.; WARD, R. K. Discriminative SIFT Features for Face Recognition.
Department of Electrical and Computer Engineering, University of British Columbia.
Vancouver, B.C., Canada, 2009.
MARTIN, J.; CROWLEY, J. L. Experimental Comparison of Correlation Techniques. IAS-4,
International Conference on Intelligent Autonomous Systems, 1995.
MATSUMOTO, Y.; IKEDA, K.; INABA, M.; INOUE, H. Visual navigation using
omnidirectional view sequence. Proc. IEEE/RSJ International Conference on Intelligent
Robots and Systems, 1999. IROS '99, v. 1, p. 317-322, 1999.
MATSUMOTO, Y.; MASAYUKI, I.; INOUE, H. Visual Navigation Using View-Sequenced
Route Representation. International Conference on Robotics and Automation (ICRA96),
1996.
MENDES, C.; WOLF, D. Desvio de Obstculos Utilizando um Mtodo Estreo Semi-global.
ENIA - VIII Encontro Nacional de Inteligncia Artificial. XXXI Congresso da Sociedade
Brasileira de Computao. Natal (RN), 2011.
MENEGATTI, E.; PRETTO, A.; PAGELLO, E. Testing omnidirectional vision-based MonteCarlo Localization under occlusion. 2004 IEEE/RSJ International Conference on
Intelligent Robots and Systems, 2004. (IROS 2004). Proceedings. v. 3, p. 2487-2493, 2004.
MIKOLAJCZYK, K.; SCHMID, C. A Performance Evaluation of Local Descriptors. IEEE
Transactions on Pattern Analysis and Machine Intelligence, v. 27, p. 1615-1529, 2005.
MORAVEC, H.P. Obstacle Avoidance and Navigation in the Real World by a Seeing Robot
Rover. Robotics Institute, Carnegie Mellon University & Doctoral Dissertation, Stanford
University, 1980.

- 78 -

MORAVEC, H.P. Sensor fusion in certainty grids for mobile robots. AI Magazine v. 9, p. 6174, 1988.
NIXON, M.S.; AGUADO, A.S. Feature Extraction & Image Processing, 2nd ed. Academic
Press, 2007.
OLIVA, A.; TORRALBA, A. The role of context in object recognition. Trends in Cognitive
Sciences. v.11, n.12, p. 520-527, 2007.
OLLIS, M.; STENTZ, A. Vision-Based Perception for an Automated Harvester
Robotics. In Intelligent Robots and Systems, 1997. IROS '97., Proceedings of the 1997
IEEE/RSJ International Conference, v. 3, p. 1838-1844, 1997.
OSRIO, F. S.; PESSIN, G.; WOLF, D. F.; SIMES, E. V.; BRANCO, K. C. Simulao
Virtual de Carros em Jogos e Aplicaes de I.A. VIII SBGames Simpsio Brasileiro de
Jogos e Entretenimento Digital, Rio de Janeiro, 2009.
PARK, S.; HASHIMOTO, S. An approach for mobile robot navigation under randomly
distributed passive RFID environment. IEEE International Conference on Mechatronics,
2009. ICM 2009, p 1-6, 2009.
PARKER, C. A.; ZHANG, H. Collective Robotic Site Preparation. Adaptive Behavior Animals, Animats, Software Agents, Robots, Adaptive Systems, v. 14, p. 5-19, 2006.
PESSIN, G. Evoluo de Estratgias e Controle Inteligente em Sistemas Multi-Robticos
Robustos. Dissertao de Mestrado PPG em Computao Aplicada da Unisinos: So
Leopoldo, RS, 2008.
PIAGGIO, M.; SGORBISSA, A.; VERCELLI, G.; ZACCARIA, R. Autonomous Robot
Navigation Using a Reactive Agents. In Proc. of the 5th Congress of the Italian
Association for Artificial Intelligence on Advances in Artificial Intelligence, p. 96-105,
1997.
QUIGLEY, M.; GERKEYY, B.; CONLEYY, K.; FAUSTY, J.; FOOTEY, T.; LEIBSZ, J.;
BERGERY, E.; WHEELERY, R.; NG, A. ROS: an open-source Robot Operating System.
In Proceedings of the Open-Source Software workshop at the International Conference on
Robotics and Automation (ICRA), 2009.
ROSS, M. G.; OLIVA, A. Estimating perception of scene layout properties
from global image features. Journal of Vision. v. 10, n. 1, p 125, 2010.
ROSTEN, E.; DRUMMOND, T. Fusing Points and Lines for High Performance Tracking.
IEEE International Conference on Computer Vision. v. 2, p. 1508--1511, 2005.
SALES, D.O.; OSRIO, F.S.; WOLF, D. F. Topological Autonomous Navigation for Mobile
Robots in Indoor Environments using ANN and FSM. In CBSEC - Conferncia Brasileira
de Sistemas Embarcados Crticos, 2011, So Carlos. Proceedings of CBSEC - Brazilian
Conference on Critical Embedded Systems. So Paulo : EPUSP, 2011, v. 1. p. 14-19, 2011.

- 79 -

SARIPALLI, S.; MONTGOMERY, J.F.; SUKHATME, G.S. Vision-based Autonomous


Landing of an Unmanned Aerial Vehicle. In Robotics and Automation, 2002. Proceedings.
ICRA '02. IEEE International Conference on Issue, p. 2799 2804, 2002.
SAXENA, A.; CHUNG, S. H.; NG, A. Y. 3-D Depth Reconstruction from a Single Still
Image. International Journal of Computer Vision. v. 76, n. 1, Publisher: Springer, p. 53-69,
2007.
SE, S.; NG, H-K.; JASIOBEDZKI, P.; MOYUNG, T-J. Vision based Mod-eling and
Localization for Planetary Exploration Rovers. In Proceedings of International
Astronautical Congress, Vancouver, Canada, 2004.
SHEN, J.; HU, H. Visual Navigation of a Museum Guide Robot. In Proceedings of the 6th
World Congress on Control and Automation, 2006.
SHINZATO, P.Y. Sistema de Identificao de Superfcies Navegveis Baseado em Viso
Computacional e Redes Neurais Artificiais. Dissertao de Mestrado, ICMC Universidade de So Paulo, USP, Brasil, 2010.
SIEGWART, R.; NOURBAKHSH, I. Introduction to Autonomous Mobile Robotics.
Cambridge, Massachusetts: MIT Press, 2004.
SIM, R.; DUDEK, G. Learning generative models of scene features. In Proc. of IEEE Intl
Conf. Computer Vision and Pattern Recognition (CVPR), v. 1, p. 406412, 2001.
SIM, R.; DUDEK, G. Effective exploration strategies for the construction of visual maps. In
Proc. of 5th IFAC/EURON Symposium on Intelligent Autonomous Vehicles, v. 3, p. 3224
3231, 2003.
SIM, R.; ELINAS, P.; GRIFFIN, M.; SHYR, A., LITTLE, J. J. Design and analysis of a
framework for realtime vision-Based SLAM using Rao-Blackwellised particle filters. In
Proc. of the 3rd Canadian Conference on Computer and Robotic Vision, 2006.
SIM, R.; LITTLE, J. J.: Autonomous vision-based exploration and mapping using hybrid
maps and Rao-Blackwellised particle filters. In Proc. of IEEE Intl Conf. on Intelligent
Robots and Systems (IROS), 2006.
SIMES, E. V. Development of an Embedded Evolutionary Controller to Enable CollisionFree Navigation of a Population of Autonomous Mobile Robots. Ph.D. thesis, University of
Kent at Canterbury, 2000.
SOKOLOV, S. M; BOGUSLAVSKY, A. A.; KUFTIN, F. A. Vision System for Relative
Motion Estimation from Optical Flow. Journal of Systemics, Cybernetics and Informatics.
v. 8, n. 4, p 65-70, 2010.
SOUZA, J. R.; PESSIN, G. ; OSORIO, F. S. ; WOLF, D. F. Vision-based Autonomous
Navigation Using Supervised Learning Techniques. In 12th Engineering Applications of
Neural Networks, 2011, Corfu, Greece. 12th Engineering Applications of Neural Networks

- 80 -

(EANN). Amsterdam: Springer Verlag : IFIP Advances in Information and Communication


Technology, 2011, v. 363. p. 11-20.
STENTZ, A. Optimal and Efficient Path Planning for Unknown and Dynamic Environments.
International Journal of Robotics and Automation, v. 10, n. 3, 1995.
SZABO, S. Research of local and global navigation methods for autonomous mobile robot
with multiprocessor control system. 2003 IEEE International Conference on Industrial
Control, v.1, p. 217-220, 2003.
TAKACS, G.; CHANDRASEKHAR, V.; GELFAND, N.; XIONG, Y., CHEN, W-C.;
BISMPIGIANNIS, T.; GRZESZCZUK, R.; PULLI, K.; GIROD, B. Outdoors Augmented
Reality on Mobile Phone using Loxel-Based Visual Feature Organization. In The Proc of
the 1ST ACM International Conference on Multimedia information retrieval (MIR 08), p.
427-434, 2008.
THRUN, S. Learning metric-topological maps for indoor mobile robot navigation. Artificial
Inttelligence, v. 99, n.1, p. 21-71, 1998.
THRUN, S.; BENNEWITZ, M.; BURGARD, W.; CREMERS, A.; DELLAERT, F.; FOX, D.
MINERva: a second generation museum tour-guide robot. In Proc. of IEEE Intl Conf. on
Robotics and Automation (ICRA), v. 3, p. 19992005, 1999.
THRUN, S.; FOX, D.; BURGARD, W. Probabilistic Robotics. Cambridge, Massachussets.
MIT Press, 2005.
THRUN, S.; GUTMANN, S.; FOX, D.; BURGARD, W.; KUIPERS, B.J. Integrating
Topological and Metric Maps for Mobile Robot Navigation: A Statistical Approach.
Fifteenth National Conference on Artificial Intelligence (AAAI-98), 1998.
TODOROVIC, S.; NECHYBA, M. C.; IFJU, P.G. Sky/ground modeling for autonomous
MAV flight. In Proceedings of ICRA, p. 1422-1427, 2003.
TNNIS, M.; FISCHER, J-G.; KLINKER, G. From Sensors to Assisted Driving Bridging
the Gap. Journal of Software, v. 3, n. 3, p. 71-82, 2008.
ULRICH, I.; NOURBAKHSH, I. Appearance-Based Place Recognition for Topological
Localization. IEEE International Conference on Robotics and Automation, San Francisco,
CA. p. 1023-1029, 2000.
Van DE SANDE, K. E. A.; GEVERS, T.; SNOEK, C. G. M. Evaluating Color Descriptors for
Object and Scene Recognition. IEEE Transactions on Pattern Analysis and Machine
Intelligence, v. 32, n. 9, p. 1582-1596, 2010.
VIOLA, P.; JONES, M. Rapid object detection using a boosted cascade of simple features. In
IEEE Computer Vision and Pattern Rcognition, v.1, p.511-518, 2001.

- 81 -

VLADUSICH, T.; HEMMI, J. M.; SRINIVASAN, M.V.; ZEIL, J. Interactions of visual


odometry and landmark guidance during food search in honeybees. Journal of
Experimental Biology 208. p. 4123-4135, 2005.
Von FRISCH, K.; SEELEY, T. D. The Dance Language and Orientation of Bees. Belknap
Press, Dec 1993.
WITKIN, A. Scale space filtering. Proc. Int. Joint Conference Artificial Intelligence., held at
Karsruhe, West Germany,1983, published by Morgan-Kaufmann, Palo Alto, California,
1983.
WOLF, D.F.; SUKHATME, G. S. Towards Mapping Dynamic Environments, In Proceedings
of the International Conference on Advanced Robotics, p. 594-600, 2003.
WOODEN, D. A guide to vision-based map building. IEEE Robot. Automata Magazine v. 13,
p. 9498, 2006.
WU, P.; KONG, L.; ZHAO, F.; LI, X. Particle filter tracking based on color and SIFT
features. In Audio, Language and Image Processing, 2008. ICALIP, p. 932-937, 2008.
WYSZECKI, G.; STILES, W. S. Color science: Concepts and methods, quantitative data and
formulae, 2nd ed. New York: NY. John Wiley & Sons, 1982.
YUEN, D. C.; MacDONALD, B. A. Line-based SMC SLAM Method in Environment with
Polygonal Obstacles. In Proc. of the Australasian Conference on Robotics and Automation,
2003.
ZHANG, Q.; CHEN, Y.; ZHANG, Y.; XU, Y. SIFT Implementation and Optimization for
Multi-Core Systems. Dept. of Computer Science, Univ. of Science and Technology of
China Intel China Research Center, Intel Corporation, 2008.
ZHAO, T.; NEVATIA, R. Tracking multiple humans in complex situations. Pattern Analysis
and Machine Intelligence, In IEEE Transactions, v. 26, n. 9, p. 1208-1221, 2004.
ZHOU, C.; WEI, Y.; TAN, T. Mobile robot self-localization based on global visual
appearance features. In Proc. of IEEE Intl Conf. on Robotics and Automation (ICRA), p.
12711276, 2003.

- 82 -

Você também pode gostar