• Nenhum resultado encontrado

DETECÇÃO DE OBSTÁCULOS ATRAVÉS DE UM FLUXO ÓPTICO PADRÃO OBTIDO A PARTIR DE IMAGENS OMNIDIRECIONAIS

N/A
N/A
Protected

Academic year: 2021

Share "DETECÇÃO DE OBSTÁCULOS ATRAVÉS DE UM FLUXO ÓPTICO PADRÃO OBTIDO A PARTIR DE IMAGENS OMNIDIRECIONAIS"

Copied!
6
0
0

Texto

(1)

DETECÇÃO DE OBSTÁCULOS ATRAVÉS DE UM FLUXO ÓPTICO PADRÃO

OBTIDO A PARTIR DE IMAGENS OMNIDIRECIONAIS

Raquel Frizera Vassallo

raquel@ele.ufes.br

André Stanzani Franca

andre.stanzani@gmail.com

Hans Jörg Andreas Schneebeli

hans@ele.ufes.br



Dept. de Engenharia Elétrica

UFES - Universidade Federal do Espírito Santo Av. Fernando Ferrari, 514, 29075-910, Vitória - ES

ABSTRACT

Obstacle avoidance is one of the most important actions that a mobile and autonomous robot must do. Optical flow, calculated from an image sequence during robot motion, can be used to detect obstacles and avoid collisions. The work presented in this paper explores the advantages gained with omnidirecional images for obstacle avoidance. The great field of view allows detecting objects all around the robot. Besides that, the proposed method uses bird’s eye view unwarping that makes optical flow calculation easier and allows defining an optical flow model for translations with no obstacles. Latter, while the robot moves, the current flow is compared to the model and the obstacles are localized at image regions with high flow differences. This approach can be added to mapping and localizing strategies, which already use omnidirecional images, so the robot can safely reach its final destination.

KEYWORDS: Omnidirectional vision, optical flow, obstacle avoidance

RESUMO

Uma das principais ações que um robô móvel autônomo deve ser capaz de realizar é desviar de obstáculos enquanto navega por um ambiente. O fluxo óptico, obtido a partir de uma seqüência de imagens, pode permitir a identificação de obstáculos e a tomada de decisões para evitar possíveis colisões. Este trabalho explora as vantagens apresentadas pelos sistemas omnidirecionais, cada vez mais utilizados em robôs móveis para sua localização no ambiente, para detecção e desvio de obstáculos. O grande campo visual das imagens permite detectar objetos em todo o ambiente a volta do robô. Além disto, o método proposto utiliza um remapeamento das imagens que facilita o cálculo do fluxo e definição de um fluxo óptico padrão para movimentos de translação. Posteriormente,

enquanto o robô se move, o fluxo atual é sempre comparado ao fluxo padrão, isolando-se as regiões de discrepâncias que representam a presença de obstáculos. Esta estratégia pode ser adicionada a sistemas de localização e navegação com imagens omnidirecionais, permitindo que robôs se movam em segurança até seu destino final.

PALAVRAS-CHAVE: Visão omnidirecional, fluxo óptico, desvio de obstáculos

1

INTRODUÇÃO

Atualmente, novas aplicações na robótica têm surgido exigindo cada vez mais autonomia, mobilidade, adaptabilidade e interação dos robôs com o ambiente e com outros agentes. Para isso, os robôs móveis devem ser capazes de navegar e se localizar no ambiente, evitando obstáculos enquanto se movimentam. O sistema de navegação de um robô móvel deve levar o robô ao seu destino final evitando acidentes ocasionados por colisões ou quedas. Normalmente, os obstáculos encontrados podem ser fixos (paredes, mesas, armários) ou móveis (pessoas que se deslocam no ambiente). Realizar uma navegação segura é a principal motivação deste trabalho. A intenção é implementar um método de desvio de obstáculos baseado em imagens omnidirecionais que possa ser adicionado a estratégias de navegação topológicas como anteriormente desenvolvidas em (Vassallo et al., 2002; Matsumoto et al., 2000). O objetivo é aproveitar as vantagens que o grande campo visual das imagens omnidirecionais traz não só para a localização do robô no ambiente, mas também para a detecção e desvio de obstáculos.

Uma das formas de se detectar obstáculos é utilizando fluxo óptico. O fluxo óptico é o movimento aparente do padrão de brilho na imagem quando a informação na imagem varia. Se a

(2)

iluminação do ambiente não varia num espaço curto de tempo, o fluxo óptico pode ser considerado como o campo de movimento da imagem. O campo de movimento é um campo de vetores que indicam a direção e a intensidade de movimento de cada pixel da imagem (Horn, 1986).

Para um robô móvel com uma câmera acoplada, à medida que o robô se move, a imagem do ambiente capturada pela câmera sofre alterações. O fluxo óptico, obtido através de uma seqüência de imagens durante o movimento do robô, pode permitir a identificação de obstáculos e a tomada de decisões para evitar possíveis colisões.

Quando um robô se movimenta sobre um plano sem a presença de obstáculos (saliências ou reentrâncias) e a uma velocidade constante, um padrão de fluxo óptico pode ser calculado e associado a este movimento se a câmera observa ao menos parte deste plano. O fluxo óptico calculado sobre a região da imagem, que corresponde ao plano do chão, terá sempre o mesmo aspecto e, com isso, um fluxo óptico padrão pode ser definido.

Mais tarde, quando o robô realizar o mesmo tipo de movimento, o fluxo óptico atual pode ser comparado com o fluxo padrão previamente obtido. Caso haja um objeto com altura diferente do plano em que o robô se movimenta, o fluxo óptico referente à região em que o objeto se encontra apresentará um valor diferente do fluxo padrão na mesma região da imagem. Assim, através de uma comparação entre o fluxo óptico padrão e o fluxo óptico obtido durante a navegação do robô, obstáculos poderão ser detectados permitindo que o robô desvie a fim de evitar uma colisão ou queda.

A detecção de obstáculos utilizando-se fluxo óptico já foi realizada e abordada em muitos trabalhos como em (Gaspar, 1994; Selvatici e Costa, 2004), que utilizam um sistema de visão baseado numa câmera perspectiva do tipo pin-hole. Este trabalho implementa a detecção de obstáculos utilizando uma abordagem semelhante a (Gaspar et al., 1994), porém usando um sistema de visão omnidirecional (Baker e Nayar, 1999; Geyer e Daniilidis, 2000) e o remapeamento em bird’s eye view.

Este remapeamento planifica as partes da imagem correspondentes ao plano do chão, ou seja, reorganiza-as como se uma projeção ortográfica fosse obtida a partir de uma câmera que observa o chão. Em um trabalho anterior (Vassallo et al., 2004), este remapeamento foi utilizado para definir uma estratégia de navegação para um robô móvel dentro de um circuito limitado por uma ou duas linhas brancas.

O uso deste remapeamento é vantajoso para simplificar a manipulação do fluxo óptico. Na imagem original, um movimento de translação gera um fluxo óptico composto por um campo de vetores que partem de um mesmo ponto (foco de expansão) e chegam a outro ponto (foco de contração) formando um campo não uniforme. Entretanto, na imagem planificada, o fluxo óptico correspondente a uma translação é um campo de vetores paralelos com a mesma direção da translação e de sentido oposto. Desta forma, o cálculo de fluxo óptico, para a definição de um fluxo padrão, e a comparação com o fluxo óptico obtido durante o movimento do robô, para a detecção de obstáculos, ficam facilitados. Além disso, em um campo de vetores paralelos é mais fácil perceber ruídos provenientes de falhas no movimento do robô ou problemas na aquisição das

imagens.

A seguir, nas Seções 2 e 3, serão descritos o método utilizado para a definição de um fluxo óptico padrão para um movimento de translação e o procedimento para a detecção de obstáculos. Os resultados obtidos a partir de experimentos realizados são mostrados na Seção 4, enquanto que na Seção 5 são discutidas as conclusões e propostas de trabalhos futuros.

2

CÁLCULO DO FLUXO PADRÃO

O procedimento para a definição do fluxo óptico padrão pode ser resumido através dos seguintes passos:

1. Colocou-se o robô em movimento;

2. O sistema de visão omnidirecinal capturou duas imagens; 3. As imagens foram remapeadas;

4. Calculou-se o fluxo óptico;

5. O fluxo foi distribuído para todos os pontos da imagem; 6. O processo acima foi repetido para várias duplas de

imagens;

7. Fluxo padrão foi calculado como a média dos fluxos obtidos a partir das duplas de imagens.

O método usado para o cálculo do fluxo óptico consiste em rastrear pontos de fácil identificação em duas imagens consecutivas. Normalmente, esses pontos são pontos de grande contraste na imagem, como vértices e arestas de objetos. Quanto mais pontos de contraste, mais vetores de fluxo poderão ser obtidos para uma seqüência de duas imagens. Portanto, para facilitar o cálculo do fluxo foram adicionadas texturas no chão, aumentando o número de pontos de contraste no ambiente. A detecção destes pontos foi feita através do Método de Lucas e Kanade (Lucas e Kanade, 1981). Depois o vetor do fluxo óptico foi calculado em cada ponto através da diferença entre as suas coordenadas nas duas imagens consecutivas e dividindo-se essa diferença pelo tempo de captura das imagens.

Considere duas imagens adquiridas nos instantes e

. Para cada ponto de contraste na imagem, com coordenadas  , o

fluxo óptico é o vetor de componentes e  , respectivamente

na direção dos vetores unitários do sistema de coordenada, dado pela Equação 2.       (1)       

Uma vez calculado o fluxo para os pontos de contraste, é preciso obter o fluxo para os demais pontos da imagem a fim de se definir um fluxo padrão completo. A imagem foi então, dividida em pequenas regiões quadradas, onde foram calculadas as médias das componentes do fluxo óptico e atribuídas aos pontos pertencentes a cada região.

(3)

O procedimento anterior foi repetido para todas as imagens capturadas durante o movimento, duas a duas. Com isso, obteve-se um campo de vetores, uniformes em regiões quadradas, para cada dupla de imagens consecutivas. A partir daí, médias foram calculadas para as subregiões quadradas da imagem considerando todos campos de vetores obtidos. Caso alguma região não aprensentasse fluxo (uma região em que não foi possível definir qualquer vetor de fluxo, para todas as imagens utilizadas), esta região recebia o mesmo campo de vetores da região mais próxima. Ao final de todo este processo, o resultado obtido foi considerado como o fluxo óptico padrão.

Apesar do fluxo padrão ser calculado para uma velocidade de translação  , as componentes  e  do fluxo para

uma velocidade qualquer, podem ser obtidas a partir das componentes  e  do fluxo óptico padrão. Como o fluxo

é diretamente proporcional à velocidade,  e  podem ser

calculados, multiplicando-se  e  pela velocidade e

dividindo-se pela velocidade  , conforme a Equação 3.

     (2)    

O cálculo do fluxo padrão é realizado uma única vez antes de se iniciar a navegação pelo ambiente. O objetivo é obter o fluxo para o plano do chão sem a presença de obstáculos. A partir deste momento, o robô poderá navegar, calcular o fluxo atual e comparar com o fluxo padrão armazenado, detectando as regiões onde aparecem obstáculos, ou seja, regiões com diferenças significativas na comparação dos fluxos.

3

DETECÇÃO DE OBSTÁCULOS

Depois de definir o fluxo óptico padrão para uma determinada velocidade linear, o robô poderá detectar obstáculos no plano do chão quando se movimenta. À medida que translada, o robô adquire duas imagens consecutivas. Essas imagens são remapeadas para bird’s eye view e usadas para o cálculo de fluxo óptico.

O fluxo calculado é comparado ao fluxo padrão para pontos das mesmas regiões da imagem. Caso a diferença entre os fluxos for superior a um determinado limite, os pontos correspondentes pertencem potencialmente a um obstáculo.

A imagem é, então, binarizada destacando os pontos onde ocorreu as diferenças de fluxo. Algumas operações morfológicas tais como máscaras de dilatação e de conectividade são aplicadas a fim de excluir possíveis ruídos e realçar o obstáculo.

Identificado o obstáculo, o robô pára e verifica se o ponto mais próximo do obstáculo está à esquerda ou à direita do seu centro. Se o ponto está à esquerda, robô rotaciona de um ângulo predeterminado para a direita, se não, o robô rotaciona para a esquerda. Após rotacionar, o robô torna a caminhar e a verificar se há novos obstáculos à frente.

A detecção de obstáculos pode ser resumida da seguinte forma:

1. O robô adquire duas imagens omnidirecionais; 2. As duas imagens são remapeadas;

3. Calcula-se o fluxo entre as duas imagens; 4. Compara-se o fluxo calculado com o padrão; 5. Filtra-se e identifica-se o objeto;

6. Desvia do objeto.

Para se evitar erros provenientes de movimentos indesejados do robô ou de problemas na aquisição das imagens, toda vez que se calcula o fluxo óptico, é verificada se a componente horizontal do fluxo calculado é siginificativa. O movimento de translação do robô não deve gerar fluxo com componente horizontal significativa nas imagens. Portanto, se for detectado essa componente em um movimento de translação, o fluxo calculado é descartado e o robô adquire duas novas imagens para refazer o processo de detecção de obstáculos.

4

RESULTADOS EXPERIMENTAIS

O robô utilizado neste trabalho é um Pioneer 2DX, um robô móvel a rodas, com tração diferencial: duas rodas motorizadas e uma livre. Este robô possui um computador Pentium MMX 200 Mhz e vários sensores disponíveis (encoders, ultra-som, câmera de vídeo) que podem ser utilizados para se fazer medidas e permitir sua interação com o ambiente. Para ampliar a sua capacidade sensorial e realizar novos estudos na área de visão computacional, foi acoplado à sua plataforma um sistema de visão catadióptrico (câmera + espelho). O sistema permite adquirir imagens omnidirecionais e é composto por um espelho esférico e uma câmera de vídeo P&B cujo eixo óptico está alinhado com o eixo de simetria do espelho. O espelho e a câmera estão fixados através de uma estrutura em acrílico. O robô e o sistema de visão omnidirecional podem ser vistos na Figura 1.

Figura 1: O robô e o sistema omnidirecional

O processo de remapeamento para bird’s eye view pode ser observado na Figura 2, onde (a) é uma imagem obtida pelo sistema de visão catadióptrico e (b) é a imagem planificada. O método empregado para o remapeamento está descrito em (Vassallo et al., 2004).

(4)

(a)

(b)

Figura 2: (a)Imagem omnidirecional e (b) seu remapeamento.

Os experimentos para cálculo do fluxo padrão foram realizados para velocidades de translação de 50mm/s e 100mm/s. O fluxo óptico, oriundo de duas imagens consecutivas (Figura 3 (a) e (b)), para a velocidade de 50mm/s, é apresentado na Figura 3 (c). A Figura 3 (d) mostra o fluxo sobreposto à imagem da Figura 3 (a), com o intuito de exibir os pontos de contraste na imagem onde o fluxo foi calculado. A partir do fluxo nos pontos de contraste, o fluxo óptico padrão foi definido para todos pontos da imagem. Alguns dos vetores do fluxo óptico padrão podem ser visualizados na Figura 3 (e). Várias texturas foram utilizadas para facilitar o cálculo do fluxo e obtenção do fluxo padrão.

(a)

(b)

(c)

(d)

(e)

Figura 3: Seqüência de duas imagens (a) e (b) usadas para cálculo do fluxo padrão. Fluxo óptico calculado (c) e sobreposto a uma das imagens (d). Fluxo padrão (e).

Foram realizados experimentos com o intuito de verificar se o robô seria capaz de desviar de obstáculos. A Figura 4 mostra a presença de dois obstáculos (caixas) posicionados a frente do robô (a) e a seqüência de procedimentos para detectá-los através do cálculo de fluxo óptico (b) e a comparação com o fluxo padrão (c). Os pontos onde a diferença entre fluxos ultrapassou o valor limite predeterminado foram usados para criar uma imagem binarizada. Após as operações morfológicas aplicadas à imagem binária foi possível isolar os obstáculos encontrados (d).

(5)

(b)

(c)

(d)

Figura 4: (a) Imagem omnidirecional com os obstáculos, (b) fluxo calculado, (c) diferença entre fluxo atual e padrão e (d) obstáculos detectados.

A Figura 5 mostra um dos experimentos realizados. Em (a) pode-se ver o ambiente de teste e em (b) a trajetória percorrida pelo robô durante o experimento. O robô navegou no ambiente com uma velocidade de 50 mm/s, desviando dos obstáculos encontrados no seu caminho (retângulos no gráfico). A trajetória realizada pelo robô foi traçada através das leituras de odometria. Os pontos sobre o caminho indicam as posições em que o robô capturou e processou imagens.

5

CONCLUSÕES

Os resultados obtidos com os experimentos realizados foram bastante animadores. Durante o movimento, o robô adquiriu as imagens, calculou o fluxo óptico, detectou a presença de obstáculos e desviou quando necessário.

A aquisição e o processamento das imagens representa cerca de



% do tempo total gasto para cada ciclo de controle do robô, ou seja, entre cada observação do ambiente e tomada de decisão. Entretanto, isto não comprometeu o desempenho da estratégia de navegação porque a baixa velocidade de movimento do robô e o campo de visão ampliado do sistema omnidirecional permitiram

(a) −1 −0.5 0 0.5 0 0.5 1 1.5 2 2.5 x [m] y [m] caminho percorrido obstaculos (b)

Figura 5: O local utilizado para teste e a trajetória percorrida pelo robô enquanto navegava e desviava dos obstáculos.

que os obstáculos fossem sempre detectados a tempo.

O método utilizado para o cálculo de fluxo óptico apresenta melhor desempenho com o uso de texturas, uma vez que se baseia na detecção de pontos com forte variação de brilho na imagem. Aplicadas no plano do chão e sobre objetos do ambiente, as texturas facilitaram bastante a definição do fluxo óptico padrão e a detecção de obstáculos. É preciso ainda investigar outros métodos de cálculo de fluxo óptico que possibilitem diminuir a dependência das texturas.

Como trabalhos futuros, pode-se citar: a obtenção do fluxo óptico padrão para o movimento de rotação e a sua utilização para detecção de obstáculos durante movimentos compostos de translação e rotação; e a integração desta estratégia de navegação a uma estratégia de mapeamento topológico.

A utilização de imagens omnidirecionais em um mapa topológico aliada à sua utilização para detecção de obstáculos permitirá que o robô navegue pelo mapa em segurança desviando de saliências ou reentrâncias sempre que necessário.

(6)

AGRADECIMENTOS

Este trabalho contou com o apoio do projeto CNPq 472727/2003-6.

REFERÊNCIAS

Baker, S. e Nayar, S. K. (1999). A theory of single-viewpoint catadioptric image formation, International Journal of

Computer Vision 32(2): 175–196.

Gaspar, J. (1994). Visão para robótica móvel: Deteccão de obstáculos sobre pavimento plano, Master’s thesis,

IST/ISR - Instituto de Sistemas e Robótica.

Gaspar, J., Santos-Victor, J. e Sentieiro, J. (1994). Ground plane obstacle detection with a stereo vision system, Proc. of the

International workshop on Intelligent Robotic Systems -IRS94.

Geyer, C. e Daniilidis, K. (2000). A unifying theory for central panoramic systems and practical implications, ECCV 2000, Vol. 2, pp. 445–461.

Horn, B. K. P. (1986). Robot Vision, The MIT Press, chapter 12. Lucas, B. e Kanade, T. (1981). An iterative image resgistration technique with an application to stereo vision., IJCAI’81. Matsumoto, T., Ikeda, K., Inaba, M. e Inoue, H. (2000).

Exploration and navigation in corridor environment based on omni-view sequence, Proc. of the 2000IEEE/RSJ

International Conference on Intelligent Robots and Systems - IROS2000, pp. 1505–1510.

Selvatici, A. H. P. e Costa, A. H. R. (2004). Combinação de sensores através da cooperação entre comportamentos primitivos, Anais do CBA 2004 - XV Congresso Brasileiro

de Automática.

Vassallo, R. F., Encarnação, L. F., Santos-Victor, J. e Schneebeli, H. J. (2004). Bird’s eye view remapping and path following based on omnidirectional vision, Anais do CBA 2004 - XV

Congresso Brasileiro de Automática.

Vassallo, R. F., Santos-Victor, J. e Schneebeli, H. J. (2002). Motor representations for topological mapping, IEEE/RSJ

International Conference on Intelligent Robots ans Systems - IROS2002.

Referências

Documentos relacionados

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

to values observed in mussels exposed to contaminated seawater (conditions A, B, C) (Figure 426.. 4B,

Os doentes paliativos idosos que permanecem nas instituições privadas são encaminhados pelos hospitais em que estavam ou internados pelos próprios familiares

A tem á tica dos jornais mudou com o progresso social e é cada vez maior a variação de assuntos con- sumidos pelo homem, o que conduz também à especialização dos jor- nais,