• Nenhum resultado encontrado

Técnicas visuais de localização e mapeamento simultâneos sem extração de primitivas geométricas da imagem

N/A
N/A
Protected

Academic year: 2017

Share "Técnicas visuais de localização e mapeamento simultâneos sem extração de primitivas geométricas da imagem"

Copied!
66
0
0

Texto

(1)

UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE

UNIVERSIDADEFEDERAL DORIOGRANDE DO NORTE CENTRO DETECNOLOGIA

PROGRAMA DEPÓS-GRADUAÇÃO EMENGENHARIAELÉTRICA

Técnicas Visuais de Localização e Mapeamento

Simultâneos sem Extração de Primitivas

Geométricas da Imagem.

Vitor Meneghetti Ugulino de Araújo

Orientador: Prof. Dr. Adelardo Adelino Dantas de Medeiros

Dissertação de Mestrado apresentada ao

Programa de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN ( área de concentração: Engenharia de Computação) como parte dos requisitos para obtenção do título de Mestre em Ciências.

(2)

Seção de Informação e Referência

Catalogação da Publicação na Fonte. UFRN / Biblioteca Central Zila Mamede

Araújo, Vitor Meneghetti Ugulino de.

Técnicas visuais de localização e mapeamento simultâneos sem extração de primitivas geométricas da imagem. / Vitor Meneghetti Ugulino de Araújo. – Natal, RN, 2011.

58f.;il.

Orientador: Adelardo Adelino Dantas de Medeiros.

Dissertação (Mestrado) – Universidade Federal do Rio Grande do Norte. Cen-tro de Tecnologia. Programa de Pós-Graduação em Engenharia Elétrica.

1. Registro direto de imagens – Dissertação. 2. Slam visual. – Dissertação. 3. Estimação de movimento. – Dissertação. 4. Struct From Motion. I. Medeiros, Adelardo Adelino Dantas de. II. Universidade Federal do Rio Grande do Norte. III. Título.

(3)

Técnica Visual de Localização e Mapeamento

Simultâneos sem Extração de Primitivas

Geométricas da Imagem.

Programa de Pós-Graduação em Engenharia

Elétrica e de Computação da UFRN

Vitor Meneghetti Ugulino de Araújo

Dissertação de Mestrado aprovada em 29 de julho de 2011 pela banca examinadora com-posta pelos seguintes membros:

Prof. Dr. Adelardo Adelino Dantas de Medeiros (orientador) . . . . DCA/UFRN

Prof. Dr. Pablo Javier Alsina . . . DCA/UFRN

(4)
(5)

Agradecimentos

Primeiramente à Deus, por ter me dado forças e me guiado nos momentos mais difíceis. À minha família pelo apoio durante esta jornada e por sempre me acolher quando precisei. À minha namorada pela paciência, apoio e companherismo.

Ao meu orientador, professor Adelardo Adelino Dantas de Medeiros, sou grato pela ori-entação.

À todos professores do DCA que são exemplos de professores, a profissão mais honrada que existe.

À todos meus amigos do Laboratório de Robótica, pois me sinto honrado por essas ami-zades.

Aos meus colegas de república Marcos, Marcio e Marcílio que foram minha família aqui em Natal.

(6)

Resumo

No SLAM (Simultaneous Localization and Mapping), um robô posicionado em uma localização desconhecida de um ambiente qualquer deve ser capaz de construir uma pers-pectiva deste ambiente (um mapa) e se localizar no mesmo simultaneamente, utilizando apenas informações captadas pelos sensores do robô e muitas vezes sinais de controle conhecidos.

Recentemente, impulsionados pelo avanço computacional, trabalhos nessa área pro-puseram usar câmera de vídeo como sensor e surgiu assim o SLAM Visual. Este possui várias abordagens e a grande maioria delas funcionam, basicamente, extraindo caracte-rísticas do ambiente, calculando as devidas correspondências e através destas, e de filtros estatísticos, estimam os parâmetros necessários.

Neste trabalho é apresentado um sistema de SLAM Visual Monocular que utiliza re-gistro direto de imagem para calcular o erro de reprojeção entre imagens e métodos de otimização que minimizam esse erro e assim obter os parâmetros relativos à pose do robô e o mapa do ambiente diretamente dos pixels das imagens. Dessa forma as etapas de extração e correspondência de características são dispensadas, possibilitando que nosso sistema funcione bem em ambientes onde as abordagens tradicionais teriam dificuldades. Além disso, ao se abordar o problema do SLAM da forma proposta nesse trabalho evita-se um problema muito comum nas abordagens tradicionais, conhecido como acumulo do erro.

Preocupando-se com o elevado custo computacional desta abordagem foram testados vários tipos de métodos de otimização afim de achar um bom equilíbrio entre boas estima-tivas e tempo de processamento. Os resultados apresentados neste trabalho comprovam o funcionamento desse sistema em diferentes ambientes.

Palavras-chave: SLAM Visual,Registro Direto de Imagem ,Struct From Motion,

(7)

Abstract

In Simultaneous Localization and Mapping (SLAM - Simultaneous Localization and Mapping), a robot placed in an unknown location in any environment must be able to cre-ate a perspective of this environment (a map) and is situcre-ated in the same simultaneously, using only information captured by the robot’s sensors and control signals known.

Recently, driven by the advance of computing power, work in this area have proposed to use video camera as a sensor and it came so Visual SLAM. This has several approa-ches and the vast majority of them work basically extracting features of the environment, calculating the necessary correspondence and through these estimate the required para-meters.

This work presented a monocular visual SLAM system that uses direct image regis-tration to calculate the image reprojection error and optimization methods that minimize this error and thus obtain the parameters for the robot pose and map of the environment directly from the pixels of the images. Thus the steps of extracting and matching features are not needed, enabling our system works well in environments where traditional appro-aches have difficulty. Moreover, when addressing the problem of SLAM as proposed in this work we avoid a very common problem in traditional approaches, known as error propagation.

Worrying about the high computational cost of this approach have been tested several types of optimization methods in order to find a good balance between good estimates and processing time. The results presented in this work show the success of this system in different environments.

(8)

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas v

1 Introdução 1

1.1 Visão Geral do problema . . . 1

1.2 Motivação e Justificativa . . . 3

1.3 Objetivos . . . 5

1.3.1 Objetivo geral . . . 5

1.3.2 Objetivos específicos . . . 5

1.4 Organização do trabalho . . . 5

2 Fundamentação Teórica 6 2.1 Localização e Mapeamento Simultâneo (SLAM) . . . 6

2.2 SLAM Visual . . . 7

2.3 Registro de Imagem e SFM . . . 8

2.3.1 Registro de Imagem . . . 8

2.3.2 Estrutura a partir do Movimento (Struct from motion - SFM) . . . 12

2.4 Conclusão do Capítulo . . . 17

3 SLAM Visual e Trabalhos Relacionados 18 3.1 Abordagens do SLAM Visual . . . 18

3.1.1 SLAM Visual Baseado na Extração e Correspondência de Carac-terísticas . . . 18

3.1.2 SLAM Visual Sem Extração e Correspondência de Características 20 3.2 Trabalhos Relacionados . . . 21

3.2.1 SLAM Visual com Registro Direto de Imagem . . . 22

3.2.2 SLAM Visual com Estrutura a Partir do Movimento (SFM) . . . . 24

3.3 Conclusão do Capítulo . . . 25

4 Sistema Proposto 26 4.1 Visão Geral . . . 26

4.2 Abordagem Proposta . . . 27

(9)

4.2.1 Calculando o Erro de Reprojeção . . . 29

4.2.2 Solução Encontrada . . . 33

4.3 Conclusão do Capítulo . . . 33

5 Resultados 34 5.1 Resultados . . . 34

5.2 Primeiro experimento (ambiente interno) . . . 36

5.2.1 Câmera não calibrada . . . 37

5.2.2 Câmera calibrada . . . 38

5.3 Segundo experimento (ambiente externo) . . . 41

5.3.1 Câmera não calibrada . . . 42

5.3.2 Câmera calibrada . . . 43

5.4 Terceiro experimento . . . 45

5.5 Conclusão do capítulo . . . 46

6 Conclusões e perspectivas 47 6.1 Conclusão . . . 47

(10)

Lista de Figuras

1.1 Sensores mais utilizados no SLAM . . . 3

1.2 Seleção de regiões da imagem no trabalho de Silveira . . . 4

2.1 Sistemas de visão mais utilizados no SLAM . . . 7

2.2 Exemplo de um alinhamento usando extração e correspondência de ca-racterísticas . . . 11

2.3 Exemplo de alinhamento baseado em intensidade: (a)conjunto de ima-gens de 3 cenas diferentes. (b) classificação quanto a similaridade de intensidades (c)resultado do alinhamento . . . 13

2.4 Projeção no plano da câmera de um ponto X no espaço, R e T representam as transformações entre as coordenadas do mundo XYZ e as da câmera XcYcZc . . . 14

2.5 Geometria epipolar de 2 pontos de vista: Dado a projeção ˜x em uma ima-gem de um ponto X no espaço, a projeção ˜xna outra imagem está restrita a linha epipolar I, onde C representa a origem do sistema de coordenada da câmera e e representa o ponto epipolar. . . . 16

2.6 Esquematização do método sequencial, onde Ei j representa a matriz es-sencial entre os pontos de vista i e j. . . 16

3.1 Exemplo de extração e correspondências entre características . . . 19

3.2 Extração de características utilizando linhas no chão . . . 20

3.3 Formação das imagens após um deslocamento da câmera . . . 20

3.4 Esquematização da comparação entre regiões reais e suposta . . . 21

3.5 Regiões planares selecionadas para processamento . . . 23

4.1 Ambiente de fácil extração e correspondência de características, onde os pontos verdes e vermelhos representam as características extraídas da imagem . . . 26

4.2 Ambiente de difícil extração e correspondência de características . . . 27

4.3 Exemplo de um alinhamento equivocado . . . 28

4.4 Transformações (T1,T2 e T3) que causam oclusão de pixels . . . 28

4.5 Parametrização do plano . . . 29

4.6 Representação de um grande erro de alinhamento . . . 32

4.7 Representação de um ótimo alinhamento com erro quase zero . . . 32

5.1 Alguns frames das sequências de imagens utilizada nos testes . . . 34

(11)

5.2 Sistema de referência da câmera . . . 35

5.3 Primeiro ambiente interno, onde as regiões em vermelho são os planos utilizados no processo de estimação . . . 36

5.4 Segundo ambiente interno, onde as regiões em vermelho são os planos utilizados no processo de estimação . . . 36

5.5 Resultados obtidos com Algoritmo genéticos . . . 37

5.6 Resultados obtidos com poliedros flexíveis . . . 37

5.7 Resultados obtidos com Levenberg-Marquadt . . . 37

5.8 Resultados obtidos com Algoritmo Genético . . . 39

5.9 Resultados obtidos com Poliedro Flexível . . . 39

5.10 Resultados obtidos com Levenberg-Marquadt . . . 39

5.11 Primeiro ambiente externo, onde as regiões em vermelho são os planos utilizados no processo de estimação . . . 41

5.12 Segundo ambiente externo, onde as regiões em vermelho são os planos utilizados no processo de estimação . . . 41

5.13 Resultados obtidos com Algoritmo genéticos . . . 42

5.14 Resultados obtidos com poliedros flexíveis . . . 42

5.15 Resultados obtidos com Levenberg-Marquadt . . . 42

5.16 Resultados obtidos com Algoritmo Genético . . . 43

5.17 Resultados obtidos com Poliedro Flexível . . . 43

5.18 Resultados obtidos com Levenberg-Marquadt . . . 43

5.19 Resultados obtidos com diferentes números de regiões . . . 45

(12)

Lista de Tabelas

5.1 Valores médios do número de iterações, tempo em milisegundos e da fun-ção minimizada. . . 35 5.2 Valores dos parâmetros dos planos em radianos do experimento 1.1. . . . 38 5.3 Valores dos parâmetros dos planos em radianosdo experimento 1.2. . . 40 5.4 Valores dos parâmetros dos planos em radianos do experimento 2.1. . . . 44 5.5 Valores dos parâmetros dos planos em radianos do experimento 2.2. . . . 44 5.6 Tempo médio (em milissegundos) de convergência do algoritmo em cada

situação. . . 45

(13)

Capítulo 1

Introdução

O objetivo desse capítulo é fornecer uma visão geral e introdutória do problema, mos-trando de forma superficial como surgiu a necessidade de se usar sistemas robóticos no cotidiano e como essas necessidades moldaram a robótica forçando os profissionais e pes-quisadores da área a criarem soluções arrojadas e práticas para tornar real o uso de siste-mas robóticos autônomos na realização de tarefas para o homem. Na sequencia falaremos sobre a motivação e justificativa do presente trabalho e por fim como está organizado o mesmo.

1.1

Visão Geral do problema

A busca por sistemas robóticos autônomos que possam auxiliar o homem nas tarefas e desafios do cotidiano sempre recebeu uma grande atenção das engenharias e ciências modernas e proporcionou a criação de novas áreas de pesquisas. Inicialmente houve um grande esforço no desenvolvimento da robótica na área industrial, com a utilização de robôs manipuladores. Posteriormente as pesquisas em robótica se concentraram na cons-trução de robôs móveis, introduzindo capacidades de mobilidade e autonomia para reagir adequadamente ao ambiente, o que abriu um vasto campo de novas aplicações e, con-sequentemente, grandes desafios. Um destes desafios, que surgiu no final da década de 80, foi se um robô posicionado numa localização desconhecida de um ambiente qualquer seria capaz de criar uma perspectiva desse ambiente (um mapa) e ao mesmo tempo se localizar no mesmo.

Quando as duas etapas de mapeamento e localização são realizadas simultaneamente temos o problema conhecido na robótica como SLAM (Simultaneous Localization and

Mapping). A gênese do problema ocorreu em São Francisco no IEEE Robotics and

Au-tomation Conference de 1986, em um momento onde os métodos probabilísticos apenas estavam começando a ser introduzidos nas áreas da robótica e na inteligência artificial [Durrant-Whyte e Bailey 2006]. Alguns pesquisadores como Peter Cheeseman, Jim Cro-wley, Hugh Durrant-Whyte, Raja Chatila, Oliver Faugeras e Randal Smith foram pionei-ros com publicações como Smith et al. (1987) , Durrant-Whyte (1988) entre outras.

(14)

CAPÍTULO 1. INTRODUÇÃO 2

determinar a sua localização dentro de um mapa estimado simultaneamente, de forma ite-rativa. Inicialmente foram utilizados sensores de alcance, como scanners lasers e sonares, e filtros estatísticos, como o filtro de Kalman [Kalman 1960], para tratar as incertezas inerentes ao sistema robótico e nas medidas retornadas pelos sensores. Esses sistemas de SLAM que utilizam sensores de alcance e métodos precisos de correção e tratamento das incertezas, atualmente conseguem estimar mapas de boa qualidade do ambiente e a localização aceitável do robô, como pode ser constatado em trabalhos como [Clark e Dissanayake 1999], [Guivant e Nebot 2002], [Wang 2004], entre outros. Porém, esses sensores são caros, muitas vezes pesados e de difícil integração com os sistemas robóti-cos. Então, em meados da década de 90 surgiu a ideia conhecida como SLAM Visual, que propõe usar câmeras de vídeo como principal sensor do robô.

SLAM visual é, basicamente, o SLAM onde se usam câmeras ao invés de sensores de alcance baseado em algumas vantagens como o fato de ser um sensor mais barato e leve e de fornecer uma fonte mais rica de informações, que abre possibilidades para representa-ções mais avançadas do mundo [Kootstra e Lambert 2009]. Nessa linha de pesquisa pode-mos observar um grande número de trabalhos em duas abordagens. Na abordagem mais tradicional existe uma etapa inicial de extração de características da imagem. Primitivas geométricas (pontos, retas, etc) salientes na imagem são selecionadas e a correspondência entre essas características nas sucessivas imagens é utilizada como entrada do processo de estimação da pose da câmera e do mapa. Já na outra abordagem não há extração de características. A pose da câmera e o mapa são obtidos diretamente da observação da intensidade dos pixels nas sucessivas imagens.

Dentro dessas duas abordagens podemos observar a combinação de vários métodos de visão computacional para realizar o SLAM, dos quais destacam-se o registro direto de imagem e estrutura a partir do movimento ou SFM. Em ambas é preciso tratar as incer-tezas inerentes aos sistemas robóticos e aos dispositivos sensoriais e geralmente usam-se técnicas de filtragem estatística, como filtro de kalman ou filtro de partículas. Recente-mente surgiram trabalhos que utilizam métodos de otimização, como no trabalho de Da-vison et al. (2010), onde é feita uma comparação entre técnicas de filtragem e otimização no SLAM Visual com estrutura a partir do movimento.

Na abordagem de SLAM visual sem extração de características ou primitivas geomé-tricas que utiliza, diretamente, as intensidades das imagens para estimar os parâmetros ne-cessários, existem algumas restrições importantes: devido ao poder computacional atual, a utilização da imagem toda (todos os pixels) torna o processo muito custoso do ponto de vista de processamento e tempo, além do mais, é difícil parametrizar matematicamente as inúmeras formas geométricas que aparecem numa imagem do mundo real e existem inúmeras possibilidades que levam à oclusão de parte da imagem. Por esses motivos são selecionadas apenas algumas regiões dessa imagem para simplificar a parametrização do mundo, diminuir o tempo de processamento do algoritmo e evitar a oclusão de pixels. Em [Davison et al. 2004] foi observado que essas restrições são evitadas ao se utilizar regiões da imagem que representam planos no mundo real e que a seleção dessas regiões é uma tarefa considerada simples.

(15)

CAPÍTULO 1. INTRODUÇÃO 3

estimativa da localização do robô e do mapa do ambiente. Neste trabalho, com a finalidade de resolver esse problema, foi implementado o SLAM Visual utilizando-se de técnicas de registro direto de imagem (sem extração de características) e de métodos eficientes de otimização para, através da minimização do erro de reprojeção entre as imagens, estimar os parâmetros relativos ao mapa do ambiente e à pose do robô.

1.2

Motivação e Justificativa

Para navegar de forma autônoma em um ambiente desconhecido, um robô móvel deve ser capaz de ter uma boa percepção do mundo ao seu redor (um mapa) e se localizar no mesmo. Isso não é uma tarefa simples, visto que a percepção do ambiente é uma tarefa complexa que pode ser abordada de várias maneiras, mas sempre deve haver um equilíbrio entre tempo de processamento e boas estimativas, entre confiabilidade de sensores e seus custos ou dimensões. Segundo CHEN et al. (2007), há uma forte tendência em utilizar apenas informações visuais para fazer SLAM, principalmente motivada pelos benefícios no uso de câmeras de vídeo como sensores, como:

• Usar câmera nos proporciona uma fonte de informação extremamente rica sobre o ambiente.

• Sistemas de visão são, na maioria das vezes, baratos.

• Câmeras são leves e de dimensões aceitáveis.

• São facilmente integradas ao hardware do robô

• Consomem pouca energia

A figura 1.1 retirada de [Santana 2010] mostra alguns sensores que podem ser utili-zado no SLAM.

Figura 1.1: Sensores mais utilizados no SLAM

Uma das recentes abordagens de SLAM Visual faz uso da técnica de registro direto direto de imagem, que é o caso de [Silveira et al. 2009]. Técnica esta que pode ser definida como o processo de sobreposição de duas ou mais imagens da mesma cena tomadas em momentos diferentes ou a partir de diferentes pontos de vista, utilizando, diretamente, a intensidade dos pixels [Barbara e Jan 2003].

(16)

CAPÍTULO 1. INTRODUÇÃO 4

de um método de otimização que minimiza o erro ocorrido nesse alinhamento. Essa abor-dagem possui muitas vantagens, das quais se destacam: maior precisão nas estimativas, devido à utilização de mais informações contidas na imagem e ao pouco acúmulo de erro, visto que a cada nova imagem de referência o erro acumulado nas estimativas anteriores é desconsiderado. Porém possui algumas desvantagens como a restrição de ter que utilizar regiões planares que possuam textura não homogênea e que sejam, preferencialmente, pe-quenas, como pode ser visto na imagem 1.2 retirada do trabalho de Silveira et al. (2008), onde essas regiões, em vermelho, representam planos no mundo e a correspondência en-tre essas regiões em sucessivas imagens é utilizada no processo de estimação da pose do robô e mapa do ambiente.

Figura 1.2: Seleção de regiões da imagem no trabalho de Silveira

Então a motivação para desenvolver esse trabalho é encontrar uma solução eficiente e precisa para a localização e o mapeamento simultâneos sem a necessidade de extrair características da imagem utilizando apenas câmera de vídeo e o método de visão com-putacional conhecido como registro direto de imagem, com a finalidade de proporcionar maior autonomia na navegação dos robôs. Chegaremos a esse objetivo baseando-se nos trabalhos existentes e abordando de forma desacoplada a maneira como é calculado o erro de alinhamento ou reprojeção entre as imagens e o método de otimização. Assim é pos-sível testar vários métodos e achar o que melhor se adequem à minimização do erro de reprojeção.

A justificativa está no fato de que o uso de câmera digital como principal sensor do robô possui muitas vantagens quando comparado com outros sensores utilizados. Tam-bém no fato de que as soluções que usam registro direto de imagem sem correspondência de características no SLAM visual são poucas e estão em processo de amadurecimento, abrindo assim muitas possibilidades de melhorias e inovações, principalmente na maneira como é utilizada a informação contida nas imagens, no custo computacional e nas técnicas utilizadas para estimar os parâmetros necessários para o SLAM.

(17)

CAPÍTULO 1. INTRODUÇÃO 5

1.3

Objetivos

1.3.1

Objetivo geral

O objetivo deste trabalho é, através um estudo detalhado de vários paradigmas de lo-calização e mapeamento simultâneos utilizando informações visuais e técnicas que não utilizam extração de primitivas geométricas da imagem, propor uma abordagem que uti-liza registro direto de imagem para fazer SLAM visual de forma eficiente. Também tratar o erro de reprojeção com métodos de otimização que melhor se adequem ao problema e assim implementar uma técnica diferente da existente na literatura, onde podemos ex-plorar vários métodos de otimização afim de utilizar melhor as informações contidas nas imagens.

1.3.2

Objetivos específicos

• Estudar detalhadamente as técnicas de SLAM Visual que não extraem primitivas geométricas da imagem.

• Comparar as abordagens explorando as principais vantagens de desvantagens.

• Implementar uma solução de SLAM visual baseada em registro direto de imagem sem correspondência de características.

• Abordar diferentes métodos de otimização para tratar a minimização do erro de reprojeção nas imagens.

• Comparar a técnica implementada com a existente na literatura observando as van-tagens e desvanvan-tagens em ambientes diferentes.

1.4

Organização do trabalho

(18)

Capítulo 2

Fundamentação Teórica

O objetivo deste Capítulo é apresentar um texto introdutório sobre SLAM

(Simultane-ous Localization and Mapping) abordando o SLAM visual e suas aplicações na robótica

móvel. Nas seções desse capítulo encontra-se a idéia básica do SLAM clássico e do SLAM onde o sensor é uma câmera. Depois uma explanação sobre duas das várias técni-cas de visão computacional que podem ser aplicadas para resolver o problema do SLAM visual, são elas: registro direto de imagem e a estrutura a partir do movimento.

2.1

Localização e Mapeamento Simultâneo (SLAM)

Sistemas robóticos móveis estão cada vez mais sendo utilizados em tarefas complexas do nosso cotidiano. Um pré-requisito fundamental para um robô móvel é a autonomia, ou seja, a capacidade de navegação em ambientes desconhecidos sem ajuda humana. Para realizar essa tarefa, ele precisa ter uma idéia sobre o ambiente no qual está inserido e para criar essa o robô móvel autônomo precisa de sensores que possam extrair o máximo de informações úteis sobre o ambiente ao seu redor. Segundo Thomas (2008) para um robô navegar com sucesso de uma posição inicial a uma posição desejada nesse ambiente desconhecido é preciso resolver três problemas:

1. Determinar onde o robô está (localização e mapeamento). 2. Determinar onde o robô quer chegar (reconhecimento de meta). 3. Determinar como o robô chegará no destino (planejamento de rota).

O foco do nosso trabalho está no primeiro problema, que é a localização e mapeamento. Têm sido apresentadas diversas maneiras de se resolver esse problema, uma é o uso de sensores para construir um mapa do ambiente e simultaneamente determinar a localização do robô nesse mapa. Essa técnica é denominada, abreviadamente, SLAM (Simultaneous

localization and mapping) e foi originalmente desenvolvida por Leonard e Durrant-Whyte

(19)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 7

• Como tratar as incertezas associadas ao movimento dos robôs e aos sensores de medição.

• Como tratar a questão da simultaneidade no mapeamento e localização.

• Como obter boas estimativas da pose do robô e do mapa do ambiente.

No início da década 90, abordagens probabilísticas tornaram-se dominantes em solu-ções de SLAM, merecendo destaque o Filtro de Partículas e o Filtro de Kalman, que opera em modo de predição-atualização levando em consideração as propriedades estatísticas do ruído presente no sistema robótico. Um modelo interno desse sistema é usado para atua-lização e um esquema de realimentação (sensores) realiza as medições [Santana 2010]. A principal razão para a popularidade destas técnicas reside no fato de que o mapeamento robótico é caracterizado por incertezas e ruídos dos sensores. Logo, algoritmos com base em probabilidade podem ser usados para modelar explicitamente as diferentes fontes de ruído e seus efeitos sobre as medidas [Thrun 2002]. Inicialmente os sensores mais utili-zados eram os scanners lasers ou sonares, onde o primeiro é muito eficiente e dispensa recursos computacionais avançados. Já os sonares são mais baratos, porém suas medições não são tão boas quanto aos dos lasers.

No final da década de 90 começou-se a buscar alternativas e surgiu a idéia de usar uma câmera de vídeo como sensor, pois esta é mais barata, mais prática e capta muito mais informações sobre o ambiente que os lasers ou sonares. O SLAM realizado com esse tipo de sensor é conhecido na literatura como SLAM Visual.

2.2

SLAM Visual

O que se quer resolver com o SLAM visual é como fazer SLAM utilizando apenas imagens, capturadas por sistemas de percepção visual, e técnicas de visão computacional que constroem representações do mundo a partir dos pixels dessas imagens. Os principais tipos de sistemas de percepção visual (ou sistemas de visão) utilizados pelos robôs estão esquematizados na figura 2.1, retirada do trabalho de Santana (2010).

Figura 2.1: Sistemas de visão mais utilizados no SLAM

(20)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 8

de câmera mais simples, reduzir o custo computacional e material, tornar o robô mais leve e mais compacto (pré-requisito necessário em robôs aéreos). Essas vantagens, em relação ao sistema de visão estéreo, fizeram com que muitas pesquisas fossem desenvolvidas para tratar o problema do SLAM Visual Monocular e que essa abordagem fosse escolhida para ser utilizada nesse trabalho.

Usar câmeras como sensor de percepção do ambiente nos retorna uma fonte de infor-mação extremamente rica sobre o mesmo, em comparação com outros sensores [Artieda et al. 2009], além das diversas vantagens já discutidas no capítulo anterior, porém a forma como é abordada a estimativa dos parâmetros é mais custosa computacionalmente que as abordagens tradicionais de SLAM, pois utilizam técnicas de visão computacional que, normalmente, usam muito processamento. No presente trabalho foram utilizadas as téc-nicas conhecidas como Registro Direto de Imagem e Estrutura a Partir do Movimento.

2.3

Registro de Imagem e SFM

Dentre as várias técnicas de visão computacional que podem ser utilizadas na estima-ção dos parâmetros necessários na localizaestima-ção e mapeamento simultâneo, destacam-se o registro direto de imagem e a estrutura a partir do movimento ou apenas SFM - Struct

from motion. No presente trabalho ambas as técnicas foram utilizadas. O registro direto

de imagem foi utilizado para calcular o erro de reprojeção entre as imagens e a estrutura a partir do movimento foi utilizada para determinar os pontos no mundo correspondentes aos pixels na imagem, ou seja, para reconstrução 3D da cena.

2.3.1

Registro de Imagem

Registro de imagens é o processo de sobreposição de duas ou mais imagens da mesma cena, tomadas em momentos diferentes, a partir de diferentes pontos de vista, e/ou por sensores diferentes [Barbara e Jan 2003]. Segundo BROWN (1992) o registro de imagem pode ser definido como o mapeamento entre duas imagens no espaço no que diz respeito a intensidade, ou seja, se definimos essas imagens como dois vetores 2D:

I1(x,y) (2.1) I2(x,y) (2.2)

Então o mapeamento entre as imagens pode ser expresso da seguinte maneira:

I2(x,y) =g(I1(f(x,y))) (2.3)

(21)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 9

Registro de imagens é um passo crucial em todas as tarefas de análise de imagem em que a informação final é obtida a partir da combinação de várias fontes de dados, como na fusão de imagens, detecção de mudanças na cena, restauração de imagens em vários canais, entre outras (visão computacional em geral). Suas aplicações podem ser divididas em quatro grupos principais de acordo com o modo de aquisição da imagem:

Pontos de vista (viewpoint) diferentes: As imagens da mesma cena são adquiridas

de diferentes pontos de vista. O objetivo é obter uma maior visualização 2D ou uma representação 3D da imagem digitalizada da cena.

Épocas diferentes: As imagens da mesma cena são adquiridas em épocas

diferen-tes e, possivelmente, sob diferendiferen-tes condições. O objetivo é encontrar e avaliar as mudanças na cena que aparecem entre as aquisições das imagens consecutivas.

Sensores diferentes: As imagens da mesma cena adquiridas por diferentes

senso-res. O objetivo é integrar as informações obtidas a partir de fontes diferentes para ganhar uma representação de cena mais complexa e detalhada.

Registro através de um modelo: Imagens de uma cena e um modelo da mesma

são registradas. O modelo pode ser uma representação da cena no computador. O objetivo é localizar a imagem adquirida na cena ou modelo e/ou para compará-las. Nem todo método de registro de imagem é direto, existem dois métodos principais: os baseados em características e os baseados em intensidades (diretos).

Métodos Baseados em Características

Segundo Barbara e Jan (2003) os métodos de registro de imagem baseados em carac-terísticas funcionam, basicamente, em quatro etapas:

1. Detecção de características: Objetos distintos e salientes (fronteira fechada de regiões, bordas, contornos, cruzamentos de linhas, curvas, etc) são manualmente ou automaticamente detectados. Para posterior processamento, estas características podem ser representadas pelos seus pontos representativos (centros de gravidade, finais de linha, pontos distintos), que são chamados na literatura de pontos de con-trole.

2. Correspondência de características: Nesta etapa a correspondência entre carac-terísticas detectadas na imagem sensorial e os detectados na imagem de referência é estabelecida. Vários descritores de características e medidas de similaridade junto com as relações espaciais entre as características são utilizados para esse fim. 3. Estimação do modelo de transformação: Os tipos e os parâmetros das funções

de mapeamento que alinham as imagens adquiridas com imagens de referência são estimados. Os parâmetros das funções de mapeamento são calculados por meio da correspondência de características estabelecida.

(22)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 10

A implementação de cada etapa de registro tem seus problemas típicos. Em Primeiro lugar é preciso decidir que tipo de características é apropriado para uma determinada tarefa. Elas devem ser objetos distintos, frequentes, espalhados nas imagens e devem ser facilmente detectáveis. Os conjuntos de características detectadas nas imagens devem conter elementos suficientes em comum, mesmo nas situações em que as imagens não cubram exatamente a mesma cena, quando há oclusão ou mudanças inesperadas. Os métodos de detecção deverão ter boa precisão na localização das características e não devem ser sensíveis à degradações nas imagens. Em um caso ideal, o algoritmo deve ser capaz de detectar as mesmas características em todas as projeções da cena, independente da deformação de uma projeção em particular.

Na etapa de correspondência de características o objetivo é encontrar a correspon-dência de pares delas usando suas relações espaciais ou seus descritores. Os métodos baseados nas relações espaciais entre as características são normalmente aplicados se as características detectadas são ambíguas ou quando suas vizinhanças são localmente dis-torcidas. Na outra alternativa, as correspondências entre características podem ser estima-das utilizando os descritores que são, preferencialmente, invariáveis a deformações espe-radas. Características com descritores mais similares são consideradas correspondentes. O descritor mais simples usa a função da intensidade da imagem, limitada à vizinhança imediata da característica.

Problemas causados por uma detecção de características incorreta ou por degradações de imagem podem surgir: características diferentes podem ser consideradas correspon-dentes devido às condições diferentes da imagem e/ou devido às diferentes sensibilidades espectrais dos sensores. A escolha dos descritores de características e as medidas de similaridade têm que considerar estes fatores. Os descritores devem ser insensíveis às de-gradações assumidas e ao mesmo tempo devem ser suficientemente discriminantes para poderem distinguir entre as diferentes características bem como, suficientemente, estáveis para não serem influenciados por pequenas variações ou ruídos na imagem.

O tipo de função de mapeamento deve ser escolhido de acordo com as informações co-nhecidas a priori sobre o processo de aquisição e expectativa de degradações da imagem. Se não há informação a priori disponível, o modelo deverá ser flexível e geral o suficiente para lidar com todas as degradações eventuais que possam aparecer. A precisão do mé-todo de detecção de características, a confiabilidade da estimativa de correspondência e os erros de aproximação aceitáveis precisam ser considerados também.

Na figura 2.2 retirada de Barbara e Jan (2003) podemos ver um exemplo de regis-tro de imagem baseado em características, onde é feito o alinhamento das característica correspondentes, representadas pelos pontos em vermelhos na imagem. Os pontos azuis representam características que não possuem correspondências na outra imagem.

Métodos diretos ou baseados em intensidades

(23)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 11

Figura 2.2: Exemplo de um alinhamento usando extração e correspondência de caracte-rísticas

que explora apenas alguns pixels da mesma (as primitivas geométricas extraídas). O fato de não precisar das duas primeiras etapas evita alguns problemas inerentes aos métodos de detecção e correspondência de características, como detecção incorreta de características, escolha equivocada dos descritores (forma única e invariante de descrever uma caracte-rística), correspondências falsas, entre outros. Porém aparecem outros problemas como a seleção da parte da imagem que será utilizada para processamento, o cálculo do erro de reprojeção, entre outros.

Essa técnica funciona bem em imagens onde não se encontram características salien-tes. Janelas de tamanho pré-definido ou, até mesmo, a imagem inteira são utilizadas para fazer as comparações entre as imagens. As limitações dos métodos baseados na área se originam em sua idéia básica. Em primeiro lugar, a janela retangular, que é mais frequen-temente utilizada, se adéqua ao registro de imagens que localmente diferem apenas por uma translação. Se as imagens são deformadas por transformações mais complexas, este tipo de janela não é capaz de cobrir as mesmas partes da cena na imagem de referência e de sensoriamento. Então de alguma forma, essa janela deve ser dinâmica, mudando sua forma de acordo com as transformações esperadas.

Métodos clássicos baseados na intensidade, como os que usam correlação cruzada, exploram diretamente a intensidades da imagem, sem qualquer análise estrutural, con-sequentemente, eles são sensíveis a mudanças de intensidade introduzidas por ruídos, variação de iluminação e/ou quando se usam diferentes tipos de sensores.

Existem 3 métodos clássicos baseados em intensidades que merecem atenção: os que usam correlação, otimização e método de Fourier.

Métodos que usam correlação: A medida de similaridade é calculada para pares

(24)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 12

Métodos de Fourier: Melhores do que os métodos que usam correlação. Eles

exploram a representação de Fourier das imagens no domínio da frequência (cor-relação de fase). São aplicados caso seja necessária uma aceleração da velocidade computacional, ou se as imagens foram obtidas sob condições variáveis, ou se elas são corrompidas por ruído dependente da frequência.

Métodos de Otimização: Encontrar o mínimo da medida de dissimilaridade ou

o máximo da medida de similaridade entre imagens é um problema de otimização multidimensional, onde o número de dimensões corresponde aos graus de liberdade da transformação geométrica esperada. O único método que produz uma solução global extrema é uma pesquisa exaustiva sobre a imagem inteira. Embora seja computacionalmente custoso, muitas vezes é utilizado se apenas translações devem ser estimadas. Nos casos em que se esperam transformações com mais graus de liberdade ou medidas de similaridade mais complexas, são necessários algoritmos de otimização mais sofisticados. Os métodos de otimização mais utilizados são: minimização Gauss-Newton, métodos de descida do gradiente, Levenberg-Marquardt, entre outros. As aplicações do método de minimização numérica de Gauss-Newton para minimizar a soma do quadrado da diferença está descrito em Barnea e Silver-man (1972) e do método de Levenberg-Marquardt é descrito em Sharma e Pavel (1997).

Deve-se notar uma coisa com relação a esses métodos de otimização. Às vezes, junto da medida de dissimilaridade, a fórmula a ser minimizada contém também o termo de penalidade, estes dois termos juntos formam a função de custo associada ao registro, e o objetivo dos métodos de otimização é minimizar isso. E similar aos métodos que usam correlação cruzada é o algoritmo de detecção de similaridade seqüencial [Barnea e Silverman 1972], onde é utilizado um método de pesquisa seqüencial. O algoritmo acumula a soma das diferenças absolutas dos valores de intensidade da imagem e aplica um critério de corte. Se o valor acumulado exceder o limite indicado, o par de janelas de candidatos é rejeitado e o próximo par é testado. Esse método é muito utilizado devido a sua fácil implementação em hardware, o que o torna útil para aplicações em tempo real. Porém, funciona bem quando ocorrem apenas translações entre as imagens.

Então, observamos que em contraste com os métodos baseados em intensidades, os métodos baseados em características não trabalham diretamente com valores de intensi-dade da imagem. As características representam um nível mais elevado de informações. Esta propriedade faz com que os métodos baseados em características sejam mais ade-quados quando as imagens possuem objetos bastante distintos e facilmente detectáveis [Barbara e Jan 2003].

Já os métodos baseados em intensidade são recomendados quando as imagens não são tão ricas em detalhes, o que torna difícil a extração de características. Na figura 2.3 encontra-se um exemplo de registro direto de imagem.

2.3.2

Estrutura a partir do Movimento (Struct from motion - SFM)

(25)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 13

Figura 2.3: Exemplo de alinhamento baseado em intensidade: (a)conjunto de imagens de 3 cenas diferentes. (b) classificação quanto a similaridade de intensidades (c)resultado do alinhamento

et al. 2000]. É nesse contexto que se aplica o método conhecido como estrutura a partir do movimento ou apenas SFM (Struct from motion) que aborda a seguinte questão: Como obter informações sobre a geometria 3D da cena a partir de imagens 2D da mesma ?

Esta tarefa é um desafio porque o processo de formação da imagem não é inversível, ou seja, de sua posição projetada em um plano da imagem, um ponto da cena só pode ser recuperado com ambiguidade de parâmetros, correspondente à sua distância à câmera [Wiley 2009]. Uma possibilidade é a de explorar o conhecimento prévio sobre a cena (paralelismo e restrições de coplanaridade) para reduzir o número de graus de liberdade e assim as ambiguidades. Outra possibilidade é utilizar pontos correspondentes em múlti-plas imagens para estimar, por triangulação, os pontos 3D correspondentes.

Um pré-requisito importante é a determinação da calibração e pose da câmera, que pode ser expressa pela matriz de projeção, mas antes é importante explicar como funciona a relação entre um ponto 3D no espaço e um ponto 2D na imagem (plano da câmera). A figura 2.4 esquematiza essa relação.

Projeção na imagem de um ponto 3D no mundo

(26)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 14

Figura 2.4: Projeção no plano da câmera de um ponto X no espaço, R e T representam as transformações entre as coordenadas do mundo XYZ e as da câmera XcYcZc

Primeiro componente: Relacionar coordenadas de um ponto no mundo com as

res-pectivas coordenadas na câmera através de uma transformação homogênea (parâmetros extrínsecos).     Xc Yc Zc 1     = R T 0 1     X Y Z 1    

Segundo componente: Transformação 3D para 2D que relaciona pontos 3D em

coordenadas da câmera com pontos 2D em coordenadas do plano da imagem. Usando semelhança de triângulos, obtemos a seguinte relação:

x= f.(Xc/Zc)

y= f.(Yc/Zc)

Onde f é a distância focal. Como alterar o valor de f é o mesmo que mudar a escala da imagem, podemos definir f =1.

Pode-se notar que o fator de escala some e a coordenada Z vira o novo fator de escala, isso porque a coordenada x só depende da direção do ponto de 3D em relação à câmera, e não quão longe ele está.

Terceiro componente: Transformação 2D para 2D que relaciona pontos em

(27)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 15

˜

uK ˜x Onde, K=

αu S u0

0 αv v0

0 0 1

K é conhecida como matriz de calibração de câmera, onde seus parâmetros

repre-sentam: αu e αv são fatores de escala conhecidos como distância focal, S representa a inclinação da malha óptica e u0e v0são as coordenadas da origem do sistema. Estes são

os parâmetros intrínsecos da câmera.

Finalmente, é conveniente combinar todas essas equações em uma única equação li-near, onde P é uma matriz projetiva que relaciona um ponto em coordenada de pixel e seu corresponde no mundo.

˜

uP ˜x PK[RT]

Geometria Epipolar

Geometria Epipolar trata a seguinte questão: como um ponto no mundo aparece em duas imagens obtidas através de dois pontos de vista diferentes?

É possível resolver essa questão através da matriz essencial, que relaciona pontos da imagem que são correspondente em dois pontos de vista como mostra a equação 2.4, onde

˜

x é a projeção do ponto 3D (do mundo) no plano do primeiro ponto de vista, ˜x′é a projeção do mesmo ponto no segundo ponto de vista e [E] é a matriz essencial. Essa equação também é conhecida como restrição epipolar. A figura 2.5 mostra, geometricamente, essa restrição.

˜

xT[E]x˜′=0 (2.4) O trabalho de Longuet-Higgins (1981) mostrou como uma matriz essencial relativa a um par de pontos de vista calibrados pode ser estimada a partir de oito ou mais pontos correspondentes. Já no trabalho de Wiley (2009) encontra-se como essa matriz pode ser decomposta para nos fornecer a orientação da câmera e a posição relativa dos pontos correspondentes.

A Geometria Epipolar nos fornece também a matriz fundamental que relaciona pontos da imagem, em coordenadas de pixels, que são correspondentes em dois pontos de vista. Ela pode ser estimada linearmente se forem dados oito ou mais pontos correspondentes e é uma matriz de rank dois. Decompondo a matriz fundamental, também, podemos recuperar a orientação da câmera e as coordenadas dos pontos correspondentes.

SFM a partir de vários pontos de vista

Visto que as matrizes essencial e fundamental contêm as restrições geométricas rela-cionadas a pares de pontos de vista, vamos voltar nossa atenção para resolver o problema da estrutura a partir do movimento para um número arbitrário de pontos de vista.

(28)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 16

Figura 2.5: Geometria epipolar de 2 pontos de vista: Dado a projeção ˜x em uma imagem

de um ponto X no espaço, a projeção ˜xna outra imagem está restrita a linha epipolar I,

onde C representa a origem do sistema de coordenada da câmera e e representa o ponto epipolar.

vista. Neste método, a inicialização adequada é normalmente obtida pela decomposição da matriz fundamental que relaciona os dois primeiros pontos de vista da seqüência e então são feitas reconstruções parciais a partir de pontos 3D que aparecem em pares de pontos de vistas explorando a geometria epipolar que relaciona cada ponto de vista com seu antecessor.

Figura 2.6: Esquematização do método sequencial, onde Ei j representa a matriz essencial

entre os pontos de vista i e j.

(29)

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 17

Para finalizar o processo de estimação da pose da câmera e da estrutura da cena é necessário refinar as estimativas da matriz de projeção e dos pontos 3D usando otimização não-linear iterativa para minimizar uma função de custo adequada. Isso é conhecido como

bundle adjustment, e funciona minimizando uma função de custo que está relacionada a

uma soma ponderada dos erros de reprojeção ao quadrado. Normalmente iteração Gauss-Newton ou o método de Levenberg-Marquardt são os métodos de otimização utilizados devido à rápida convergência.

Existem duas classes de algoritmos que tratam o problema do SFM a partir de vá-rios pontos de vista e a escolha entre essas classes de algoritmos depende fortemente da aplicação. São elas: Os algoritmos com Narrow-Baseline e os com Wide-Baseline.

O primeiro representa uma classe de algoritmos que parte do pressuposto de que a mudança na posição e na orientação da câmera é pequena, assim a vizinhança local dos pontos de interesse é quase semelhante em dois pontos de vista próximos e podem ser caracterizados por um conjunto de valores das intensidades dos pixels da amostra de uma janela retangular centrada no ponto de interesse. Os valores das intensidades dos pixels são comparados por correlação cruzada normalizada ou pela soma da diferença de qua-drados. Uma desvantagem desse método é na computação da profundidade que é muito sensível a ruídos na medida das coordenadas da imagem em pontos de vista muito próxi-mos.

A outra classe de algoritmos, conhecida como Wide-baseline, é adequada quando a distância entre pontos de vista (baseline) é larga, nesse caso, superfícies nas duas imagens podem apresentar alterações substanciais de escala, diferentes graus de encurtamento, diferentes padrões de oclusão e grandes disparidades nas suas localidades. Essa classe de algoritmos deve ser invariante para diferentes transformações da imagem.

2.4

Conclusão do Capítulo

(30)

Capítulo 3

SLAM Visual e Trabalhos Relacionados

Neste capítulo encontram-se uma explicação sobre as abordagens de SLAM Visual e um estado da arte no que diz respeito às técnicas que serão, diretamente, utilizadas. São elas: SLAM visual com estrutura a partir do movimento e com registro direto de ima-gem, ambas sem correspondência de características. O objetivo principal deste capítulo é explicar o funcionamento dessas duas técnicas e mostrar o que está sendo pesquisado no mundo em relação a elas. Vamos primeiramente categorizar SLAM visual em duas abordagens: baseada em característica e sem extração de características, sendo que a úl-tima foi utilizada nesse trabalho. Por fim apresenta-se o estado da arte sobre a abordagem utilizada.

3.1

Abordagens do SLAM Visual

O SLAM Visual é um problema complexo devido à escolha correta das técnicas de mapeamento e de localização para cada situação.

Podemos categorizar essas técnicas em duas abordagens: na que extrai característi-cas (marcos ou primitivas geométricaracterísti-cas) das imagens e usa a correspondência entre elas como entrada do sistema, corrigindo as incertezas com filtros estatísticos e na outra abor-dagem, conhecido como método direto, que utiliza as imagens como um todo ou apenas partes delas calculando a correspondência entre estas através da comparação entre suas intensidades e trata as incertezas com métodos de otimização.

3.1.1

SLAM Visual Baseado na Extração e Correspondência de

Ca-racterísticas

(31)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 19

O objetivo é encontrar um conjunto coerente de primitivas em correspondência nas imagens que permitirá a estimação dos parâmetros desejados através de um processo apropriado de filtragem, ou seja, baseando-se na diferença entre os descritores das carac-terísticas extraídas, calculam-se os parâmetros que melhor retornarem um mapeamento dessas características nas imagens. Esses parâmetros representam o deslocamento da câ-mera. A figura 3.1 (imagem retirada do trabalho [Santos 2010]) mostra um conjunto de característica extraídas de duas imagens sucessivas e suas correspondências.

Figura 3.1: Exemplo de extração e correspondências entre características

(32)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 20

Figura 3.2: Extração de características utilizando linhas no chão

3.1.2

SLAM Visual Sem Extração e Correspondência de

Caracterís-ticas

Nessa abordagem a pose do robô e o mapa do ambiente são estimados, diretamente, a partir da intensidade dos pixels das sucessivas imagens, evitando assim as etapas de ex-tração e correspondência de características e muitos problemas associados a essas etapas. Ao invés de se usar as correspondências das características nas diferentes imagens para obter os parâmetros necessários, usam-se métodos de otimização para minimizar uma função de custo associada ao mapeamento entre as imagens, ou estimadores estatísticos, como máxima verossimilhança, para comparar as mesmas e poder estimar uma função que melhor descreve o deslocamento sofrido pela câmera entre a captura destas imagens. A figura 3.3 esquematiza o que ocorre quando uma câmera captura imagens da mesma cena de pontos de vistas diferentes.

Figura 3.3: Formação das imagens após um deslocamento da câmera

(33)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 21

imagem) através de uma câmera que sofreu uma, suposta, transformação geométrica se alinhar perfeitamente com a imagem real (ou parte dela) obtida após um deslocamento real da mesma, então aquela suposta transformação representa o deslocamento real. A figura 3.4 esquematiza o que foi dito, onde a região com contorno verde é uma imagem suposta criada a partir de parâmetros supostos e será comparada com a região correspon-dente na imagem real.

Figura 3.4: Esquematização da comparação entre regiões reais e suposta

Então cabe ao método de otimização achar os parâmetros ideais de uma transforma-ção geométrica ideal da positransforma-ção da câmera que minimize um erro de alinhamento entre as imagens. No trabalho de Malis (2004) encontram-se comparações entre o uso de vários métodos de otimização de segunda ordem em visão computacional, no trabalho de Sil-veira et al. (2009) usa-se um método de otimização não linear local devido a restrição de tempo real do sistemas robóticos. Nesse caso a função de custo é desenvolvida em série de Taylor, permitindo assim, tratar o problema como um problema de mínimos quadrados linear, dado que a solução é uma aproximação. Iterações são conduzidas até a conver-gência dos parâmetros necessários que gerem o menor erro de projeção e assim estimar a transformação das imagens.

3.2

Trabalhos Relacionados

Nesta seção encontra-se um relato sobre os trabalhos existentes na literatura cujo foco é o SLAM Visual onde não há extração de características. Eles foram separados em duas categorias: Os que usam registro direto de imagem e os que usam estrutura a partir do movimento baseada em intensidades.

(34)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 22

3.2.1

SLAM Visual com Registro Direto de Imagem

A técnica de mapeamento e localização simultâneos utilizando recursos visuais tem várias vertentes, cada uma com vantagens e desvantagens. O uso do registro direto de imagem no SLAM visual surgiu com a proposta de explorar o máximo de informação possível das imagens captadas e evitar o acumulo de erros que ocorrem a cada iteração nas abordagens tradicionais. Os métodos que utilizam (diretamente) a intensidade da imagem para estimar parâmetros que minimizem erros de re-projeção são conhecidos como métodos diretos.

A utilização de métodos diretos em visão computacional começou a ser discutida na década de 90 com trabalhos pioneiros como o de Hanna (1991) e Szeliski e Kang (1995). No final da década Irani e Anandan (1999) publicaram um dos primeiros trabalhos consistentes sobre esse tema, até então aplicado apenas a visão computacional, pois a aplicação na robótica era proibitiva devido à complexidade computacional dessa classe de métodos. Porém, nos últimos anos, o aumento do poder computacional e a evolução de alguns algoritmos possibilitaram alguns trabalhos como o de Jin et al. (2003), ainda no campo de visão computacional, que trata o problema do estrutura a partir do movimento de forma direta e simultânea, mas requer movimentos relativos lentos da câmera.

O primeiro trabalho que propôs usar métodos direto na robótica para fazer SLAM foi o de Silveira et al. (2007), onde foi proposto usar registro direto de imagem no SLAM. Para eles, o SLAM Visual podia ser visto como um problema de alinhamento não linear de imagens, onde os pixels nas imagens de referência seriam comparados e alinhados com os das imagens captadas, através de um modelo foto-geométrico de transformação para alinhar imagens e foi utilizada uma técnica de otimização eficiente para minimizar erros de alinhamento, na qual altas taxas e grandes domínios de convergências foram obtidos baseando-se no trabalho de Malis (2004), sendo que no trabalho de Silveira os jacobia-nos são relativos aos parâmetros de movimento, da estrutura da cena e das mudanças na iluminação.

Nos anos seguintes, trabalhos como [Silveira et al. 2008] e [Silveira et al. 2009] con-solidaram essa idéia e concluíram que a exploração de mais informações, junto com algu-mas restrições estruturais e o não acumulo de erro a cada iteração aumentam a precisão e a robustez intrínseca do algoritmo com respeito às medidas aberrantes.

Para reduzir o custo computacional foram selecionadas apenas algumas regiões da imagem para processamento, como pode ser visto na figura 3.5. Estas foram automatica-mente selecionadas baseando-se em um índice que reflete fortes gradientes em diferentes direções na imagem (texturas diferentes). Outro critério utilizado baseia-se na quantidade de extremos locais dentro de cada região.

(35)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 23

Figura 3.5: Regiões planares selecionadas para processamento

e rejeitadas no processo de estimação automaticamente. Para isso foram utilizadas duas métricas para avaliar se as regiões selecionadas devem ser excluídas: uma fotométrica e outra geométrica. O índice fotométrico é definido, diretamente, a partir da função custo da otimização que é uma soma ao quadrado das diferenças entre as intensidades das regiões: equação 3.1.

ε2

j(xo) =

1

card(Rj)

d

2

i j(xo) (3.1)

Onde j representa a j-ésima região, R∗representa uma região da imagem com dimen-são w x w , di jrepresenta o conjunto de diferenças de intensidade de cada pixel, para todas

as regiões, j=1,2, ...,n, consideradas e card(.)indica a cardinalidade do conjunto. O ín-dice geométrico indica o grau de deformação (redução ou alongamento) entre os lados de cada região em duas imagens consecutivas. Grandes deformações devem ser descar-tada do processo de otimização. Um ponto importante a se notar é que enquanto o índice fotométrico é avaliado depois de obtermos a solução ótima, o índice geométrico pode o ser durante as iterações. Isso pode prevenir que medidas aberrantes perturbem a solução final.

Como Utilizar o Registro Direto de Imagem no SLAM Visual

(36)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 24

capturada de uma cena e sejaζoutra imagem capturada após uma rotação R∈SO(3) e

uma translação t∈R3da câmera e esse deslocamento é expresso por uma matriz de

trans-formação homogênea T∈SE(3). Seja também P= [u,v,1]T ∈P2o vetor homogêneo de

coordenadas de um pixel e queζ(P)≥0 represente o seu valor de intensidade.

O problema de registro direto pode ser visto como a busca da matriz T∈SE(3)que

transforma todos os pixels da região da imagem correnteζtal que suas intensidades cor-respondem da melhor forma possível àquelas na imagem de referênciaζ∗. Por sua vez um procedimento não linear de otimização local deve ser aplicado para resolver esse pro-blema tendo em vista que métodos globais não respeitam as restrições de tempo real dos sistemas robóticos e a intensidade ζ(P) é não linear em P. Em [Silveira et al. 2009] foi proposto usar a técnica clássica para resolver esse problema que consiste em desenvolver a função custo em série de Taylor, permitindo escrevê-lo como um problema de míni-mos quadrados linear. Dado que essa solução corresponde apenas à uma aproximação, iterações são conduzidas até a convergência dos parâmetros.

Até então o problema abordado foi o de localização, e no trabalho de Benhimane e Malis (2006) é apresentado uma solução eficiente para esse problema. Porém quando falamos de SLAM Visual o que buscamos, além da localização, é que o mapa do ambiente também seja estimado de forma simultânea. Então a solução da localização tem que ser entendida para incluir o modelo métrico nd ∈R3 como variável de otimização e assim

estimar a pose da câmera e o mapa do ambiente de forma simultânea.

3.2.2

SLAM Visual com Estrutura a Partir do Movimento (SFM)

O principal objetivo da técnica conhecida como estrutura a partir do movimento é re-construir a geometria 3D do ambiente a partir de imagens captadas deste ambiente que possuem duas dimensões. Basicamente, se o SFM for elaborado de tal forma que a re-construção da cena e a estimação da pose da câmera ocorra de forma simultânea, temos o SLAM visual [Davison et al. 2010]. Assim, a grande maioria dos trabalhos nessa linha se preocupa com essa questão e também com a exigência de realizar essa tarefa em tempo real. Podemos classificar as várias abordagens dessa técnica em dois grandes grupos: as que usam extração e correspondência de características e as que não usam.

Desde o início da década de 90 encontram-se trabalhos que usam extração e corres-pondência de características. São eles: os trabalhos de Tomasi e Kanade (1992), Poelman e Kanade (1997) e Morris e Kanade. (1998). Alguns que usam modelos conhecidos da cena como Huttenlocher e Ullman (1990) ou que usam câmeras com parâmetros conhe-cidos, como o trabalho de Faugeras (1993) entre outros.

(37)

CAPÍTULO 3. SLAM VISUAL E TRABALHOS RELACIONADOS 25

desvantagens. Porém quando falamos da técnica de estrutura a partir do movimento sem extração e correspondência de características, esse número cai drasticamente.

O trabalho pioneiro foi o de Thrun et al. (2000) que usa máxima verossimilhança e algoritmos conhecido como Expectation-Maximization para comparar medidas. Temos também o trabalho de Jin et al. (2003) que usa, o que ele chamou de: métodos semi-diretos que utilizam apenas a intensidade dos pixels de regiões da imagem e o trabalho de Davison et al. (2004), que usa estrutura a partir do movimento em tempo real e considera a imagem como um conjunto de planos locais usando métodos diretos para estimar o modelo de transformação desses planos. Essa técnica é sensível às mudanças de iluminação, não considera o forte acoplamento entre o movimento da câmera e a estrutura da cena que são estimados separadamente. Podemos falar também do trabalho de Murray e Klein (2008) que implementou o que eles chamaram de SLAM visual baseado em keyframes, onde tratam os movimentos rápidos da câmera e conseguem fazer o tracking usando técnicas diretas, mas deixam bem claro que a técnica é para tracking e não para mapeamento. Davison et al. (2010) fazem um estudo detalhado sobre as técnicas recentes de SLAM visual com estrutura a partir do movimento e comparam o uso de filtros estatísticos com o uso de métodos de otimização para tratar as incertezas.

O SLAM Visual com SFM sem correspondência de características pode ser visto, na maior parte dos trabalhos, como um problema de máxima verossimilhança, onde intensi-dades de pixels são comparados e através de uma otimização procura-se achar os parâme-tros necessários para estimar a pose da câmera e o mapa do ambiente. A vantagem dessa abordagem é evitar os erros de detecção, correspondência e descritores de características, além de tornar o SLAM robusto em situações onde não é possível a extração das mesmas, ou seja, imagens onde não se encontram características salientes. A desvantagem dessa técnica é o pré-requisito de funcionar em tempo real, pois a quantidade de dados a serem processados é grande.

3.3

Conclusão do Capítulo

Nesse capítulo foram apresentadas as duas abordagens principais de SLAM Visual: a baseada em características e a que não usa características, das quais destacamos as vantagens e desvantagens de cada uma.

(38)

Capítulo 4

Sistema Proposto

Nesse capítulo será apresentado o sistema proposto, onde começaremos com uma visão geral do problema no qual será aplicado o sistema, depois veremos como foi for-mulada a solução para resolver o problema proposto dando ênfase na maneira como foi calculado o erro de reprojeção usado para estimar os parâmetros necessários. O objetivo desse capítulo é apresentar a base teórica do sistema proposto.

4.1

Visão Geral

Dentro das abordagens de SLAM Visual encontram-se várias técnicas que propõem estimar os parâmetros relativos ao mapa e à localização do robô de forma eficiente. A grande maioria delas usa extração e correspondência de características das imagens e funcionam bem apenas quando o robô está inserido em um ambiente onde é possível a extração, descrição (classificação) e correspondências de primitivas geométricas das imagens. Na figura 4.1 retirada de [Aires 2009] está um exemplo desse tipo de ambiente.

(39)

CAPÍTULO 4. SISTEMA PROPOSTO 27

Para evitar essa restrição esse trabalho propôs uma abordagem de SLAM Visual onde os parâmetros são estimados sem a extração de primitivas geométricas da imagem, atra-vés, apenas, das comparações entre intensidades das imagens capturadas pelo robô por um um sistema de visão monocular. O sistema deve ser capaz de retornar boas estimativas mesmo quando o robô está inserido em um ambiente onde não há características salientes, como na figura 4.2. A única restrição é que esse ambiente possua regiões planares com texturas não homogêneas.

O sistema foi implementado de tal forma que os métodos de otimização utilizados ficaram desacoplados ao sistema, possibilitando que vários destes fossem utilizados e testados afim de chegar em um bom equilíbrio computacional.

Figura 4.2: Ambiente de difícil extração e correspondência de características

4.2

Abordagem Proposta

Para obter as estimativas sobre o mapa do ambiente e a localização do robô sem uti-lizar a correspondência de primitivas geométricas extraídas da imagem foi utilizada a técnica de registro direto de imagem para calcular os erros de reprojeção entre as ima-gens, que são utilizados para estimar os parâmetros relativos à pose do robô e ao mapa. Essa estimativa baseia-se na minimização desse erro, ou seja, os parâmetros que melhor alinharem as imagens (referência e as sucessivas) representam a mudança que ocorreu na pose da câmera entre elas e também o mapa do ambiente. Na figura 4.3 podemos ver um exemplo da aplicação de parâmetros que não representam o deslocamento que ocorreu e, consequentemente , o erro de alinhamento retornado foi muito alto.

(40)

CAPÍTULO 4. SISTEMA PROPOSTO 28

Figura 4.3: Exemplo de um alinhamento equivocado

conjunto de dados. Algoritmo genético é uma técnica de busca e otimização, altamente paralela, inspirada no princípio Darwiniano de seleção natural e reprodução genética [Pacheco 1999]. Poliedros flexíveis é um método multidimensional e que não utiliza o gradiente da função, apesar de se basear na mesma idéia e progredir na direção do mí-nimo [YONEYAMA et al. 1997].

A entrada do nosso sistema é formada apenas por imagens, então temos que extrair toda informação necessária dos pixels delas, mas devido ao custo computacional não podemos utilizar a imagem toda, ao invés disso, utilizamos apenas partes dela.

O primeiro passo é selecionar regiões não homogêneas na imagem de referência, que representem planos no mundo devido à simplificação que ocorre na parametrização do mesmo e também para evitar oclusão de pixels, pois regiões com características geomé-tricas mais complexas estão sujeitas a oclusão de pixels após sofrer certas transformações geométricas, enquanto que um plano está sujeito a oclusão de pixels apenas no caso de rotações muito agudas que transforme o plano em uma reta (figura 4.4). Essas rotações fogem, totalmente, às restrições físicas do problema.

Figura 4.4: Transformações (T1,T2 e T3) que causam oclusão de pixels

(41)

CAPÍTULO 4. SISTEMA PROPOSTO 29

os parâmetros ótimos que alinhem duas imagens e retorne o menor erro de alinhamento possível. Esses parâmetros representam o deslocamento do robô e o mapa do ambiente. A função de custo a ser minimizada possui até oito parâmetros, dos quais seis representam a pose do robô e dois representam o mapa do ambiente formado por planos parametrizados por dois ângulos e a distância do plano à origem (figura 4.5), porém a distância serve apenas como fator de escala e não entra como parâmetro da função. Isso porque todos os parâmetros do deslocamento estão ligados à distância (estimada) do plano, causando assim ambiguidades. Em outras palavras: estimar que a distância do plano seja de 10 metros e que o robô deslocou-se 1 metro na direção desse plano gera o mesmo resultado que estimar uma distância de 100 metros e um deslocamento de 10 metros. Isso também ocorre em outros deslocamentos e a explicação matemática está na próxima seção quando explico como calcular a interseção com o plano estimado.

Figura 4.5: Parametrização do plano

4.2.1

Calculando o Erro de Reprojeção

A função custo, ou erro, associada ao erro de reprojeção é calculada em três etapas: seja δr uma região selecionada na imagem de referência e δs a região correspondente na imagem sucessiva capturada depois de um deslocamento, que pode ser representado como uma transformação homogênea T(ρi), ondeρirepresenta o conjunto de parâmetros testados na iteração i e seja F(ρi)a função custo a ser minimizada.

Primeira etapa

Seja Vn um vértice deδr calcular em que coordenada na região δs está o vértice

cor-respondente a Vne testar se o mesmo saiu dos limites da imagem sucessiva. Esse cálculo

possui seis componentes:

O primeiro componente é uma transformação 2D para 2D, onde a inversa da matriz de parâmetros intrínsecos é aplicada em V1, que está em coordenadas de pixel [u v 1]t,

Referências

Documentos relacionados

Promovido pelo Sindifisco Nacio- nal em parceria com o Mosap (Mo- vimento Nacional de Aposentados e Pensionistas), o Encontro ocorreu no dia 20 de março, data em que também

¾ Segundo nível • Terceiro nível – Quarto nível A FAMÍLIA PROFIBUS A FAMÍLIA PROFIBUS PROFIBUS-FMS PROFIBUS-FMS é a solução de propósito geral para comunicação de

Esta realidade exige uma abordagem baseada mais numa engenharia de segu- rança do que na regulamentação prescritiva existente para estes CUA [7], pelo que as medidas de segurança

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

Os dados referentes aos sentimentos dos acadêmicos de enfermagem durante a realização do banho de leito, a preparação destes para a realização, a atribuição

Afinal de contas, tanto uma quanto a outra são ferramentas essenciais para a compreensão da realidade, além de ser o principal motivo da re- pulsa pela matemática, uma vez que é

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Instituto de Ensino Superior e Pesquisa Campus da UEMG – Universidade do Estado de Minas Gerais , no município de Divinópolis; objetivando identificar o perfil