• Nenhum resultado encontrado

1.3 Organiza¸c˜ ao da Disserta¸c˜ ao

2.1.2 Rastreamento de Objetos

Uma das formas de classificar os diferentes sistemas de navega¸c˜ao autˆonoma ´e com rela¸c˜ao ao objetivo da navega¸c˜ao. Em algumas aplica¸c˜oes o robˆo navega pelo am- biente sem nenhuma rota ou destino definidos. Sondas espaciais e ve´ıculos de re- conhecimento de ´areas inacess´ıveis s˜ao exemplos destas aplica¸c˜oes. Outro grupo de aplica¸c˜oes inclui os sistemas que precisam percorrer uma trajet´oria predefinida, cobrir uma determinada ´area de atua¸c˜ao ou procurar um lugar espec´ıfico dentro de um espa¸co de navega¸c˜ao mais extenso. Um robˆo aspirador de p´o como o Roomba, por exemplo, precisa elaborar uma estrat´egia para cobrir todo o espa¸co de atua¸c˜ao (i.e. cˆomodos de uma casa) e retornar `a esta¸c˜ao base para recarga das baterias. J´a um robˆo seguidor de linhas, por outro lado, tem uma trajet´oria pr´e-estabelecida pelas marca¸c˜oes no solo. Em ambos os casos, o prop´osito (ou miss˜ao) da navega¸c˜ao tem um impacto decisivo no projeto dos algoritmos e sistemas de controle do robˆo. Alguns sistemas de navega¸c˜ao autˆonoma utilizam t´ecnicas de rastreamento de objetos (Target Tracking) para determinar o tipo de movimenta¸c˜ao do robˆo [40, 41]. Nestas aplica¸c˜oes, detectar um objeto espec´ıfico (e.g. marca¸c˜oes, pontos de

referˆencia, rostos, etc.) pode servir para orientar o ve´ıculo durante a execu¸c˜ao de uma tarefa, indicar uma determinada dire¸c˜ao a ser tomada ou mesmo indicar que o destino foi atingido. Em aplica¸c˜oes de futebol de robˆo, por exemplo, ´e comum utilizar algoritmos de detec¸c˜ao e rastreamento da bola para orientar a movimenta¸c˜ao dos jogadores [42, 43, 44].

Existe uma grande variedade de solu¸c˜oes para rastreamento, quase sempre de- terminadas pelo tipo o ambiente de navega¸c˜ao e o tipo de objeto detectados [45]. Algumas das dificuldades associadas `a detec¸c˜ao e rastreamento de objetos s˜ao:

• Ru´ıdos presentes na imagem;

• Padr˜oes complexos de movimenta¸c˜ao dos objetos;

• Sobreposi¸c˜ao parcial ou total do objeto;

• Varia¸c˜oes na ilumina¸c˜ao do ambiente;

• Desempenho em aplica¸c˜oes de tempo real.

Para reduzir o impacto destes fatores, limitamos o objetivo dos experimentos de navega¸c˜ao neste trabalho ao rastreamento de um objeto r´ıgido, de colora¸c˜ao uniforme e em ambientes internos. O rastreamento pode ser definido com um problema de localizar um determinado objeto dentro da imagem capturada e orientar o robˆo em dire¸c˜ao a ele. A posi¸c˜ao do objeto com rela¸c˜ao `a frente do robˆo deve servir de entrada para o sistema de controle servo-visual. A navega¸c˜ao ter´a como objetivo minimizar a distˆancia entre a posi¸c˜ao do objeto e o centro de referˆencia da vis˜ao do robˆo.

O primeiro problema de implementa¸c˜ao do sistema de rastreamento ´e determinar quais caracter´ısticas melhor diferenciam o objeto de interesse do resto do ambiente. O melhor cen´ario ocorre quando o objeto tem caracter´ısticas visuais ´unicas (e.g. cor, textura, formato) no cen´ario observado. Corpos r´ıgidos de colora¸c˜ao uniforme podem ser detectados rapidamente por algoritmos de limiariza¸c˜ao (threshold ) de imagens e detec¸c˜ao de contornos [46]. A Figura 2.2 ilustra o resultado da detec¸c˜ao de um s´olido vermelho por limiariza¸c˜ao.

(a) Vis˜ao original (b) Imagem binarizada

(c) Objeto detectado

Figura 2.2: Procedimento de detec¸c˜ao de objetos por threshold de uma cor espec´ıfica.

Nesta abordagem, a escolha do sistema de cores para representa¸c˜ao das imagens ´e de fundamental importˆancia. Como ´e argumentado em [47], o sistema de cores RGB ´e mais indicado para detec¸c˜ao de objetos multicoloridos. No entanto, o RGB tamb´em ´e mais sens´ıvel `a varia¸c˜oes de ilumina¸c˜ao e possui uma transi¸c˜ao entre pixels bastante ruidosa. Para reduzir a sensibilidade a estas varia¸c˜oes, as imagens analisadas podem ser convertidas para o sistema de cores HSV antes da detec¸c˜ao. O algoritmo completo para limiariza¸c˜ao da imagem ´e apresentado na Figura 2.3. Na etapa de classifica¸c˜ao, cada pixel ´e comparado com rela¸c˜ao aos limites HSV inferior e superior da cor procurada. Pixels fora desta regi˜ao s˜ao convertidos para preto e os demais para branco (Figura 2.2b). O contorno aproximado do objeto ´e detectado a partir da imagem binarizada (Figura 2.2c). Finalmente, supondo que a cˆamera foi posicionada no topo do robˆo e apontada para a frente, a posi¸c˜ao relativa do objeto pode ser determinada pela distˆancia at´e o centro da imagem.

A principal vantagem da t´ecnica de detec¸c˜ao por threshold ´e a relativa simpli- cidade do algoritmo. O sistema pode ser rapidamente implementado com OpenCV [48] e tamb´em n˜ao requer uma fase treinamento para detec¸c˜ao. Dentre as principais desvantagens, por´em, est˜ao uma grande sensibilidade `a varia¸c˜oes de ilumina¸c˜ao e as restri¸c˜oes com rela¸c˜ao ao tipo de ambiente navegado. Estes fatores podem limitar o

Figura 2.3: Algoritmo de Limiariza¸c˜ao de imagens para detectar um objeto de cor espec´ıfica.

campo de aplica¸c˜oes poss´ıveis.

Para ambientes e objetos mais complexos, ´e comum utilizar t´ecnicas de detec¸c˜ao de caracter´ısticas locais invariantes (local scale invariant features) [49, 50, 51]. Al- goritmos de extra¸c˜ao de features, como s˜ao conhecidos, localizam caracter´ısticas do objeto que s˜ao invariantes `a rota¸c˜ao, transla¸c˜ao e ao redimensionamento para lo- caliz´a-lo em outras imagens. Estas caracter´ısticas s˜ao chamadas de pontos-chave (keypoints) e compreendem regi˜oes da imagem contendo cantos (corners). Inici- almente ´e extra´ıdo um conjunto de pontos-chave de uma imagem de treinamento contendo apenas o objeto a ser detectado. Juntamente com a lista de pontos cha- ves, tamb´em s˜ao calculados uma s´erie de descritores sobre a regi˜ao ao redor de cada ponto-chave. A etapa seguinte consiste em procurar os mesmos pontos-chaves e des- critores do objeto nas imagens capturadas durante a navega¸c˜ao (imagens de busca). Quando um n´umero suficiente de combina¸c˜oes (matches) ´e atingido, o objeto ´e loca- lizado. O contorno do objeto ´e determinado calculando uma matriz de homografia que determina a transforma¸c˜ao perspectiva entre a imagem de treinamento e a ima- gem de busca. A Figura 2.4 resume o procedimento de detec¸c˜ao por compara¸c˜ao de

features.

Figura 2.4: Algoritmo de detec¸c˜ao de objetos utilizando detec¸c˜ao de features.

Dentre os algoritmos mais comuns de extra¸c˜ao de features est˜ao o SIFT [50] e suas varia¸c˜oes. O SIFT ´e um algoritmo bastante robusto e de alta-precis˜ao, re- sistente `a varia¸c˜oes de ilumina¸c˜ao e oclus˜oes parciais do objeto. No entanto, uma das desvantagens do SIFT em ambientes embarcados ´e o custo computacional e, consequentemente, o tempo de execu¸c˜ao que ele demanda. Como alternativa, o SURF (Speed-up Robust Features), proposto inicialmente em [51], ´e uma varia¸c˜ao do SIFT original que reduz consideravelmente o tempo necess´ario de processamento, facilitando a aplica¸c˜ao da t´ecnica em plataformas de baixo poder computacional. A Figura 2.5a apresenta um exemplo de detec¸c˜ao de um objeto utilizando o SURF como detector de features. Na Figura 2.5b o mesmo objeto ´e encontrado mesmo estando parcialmente encoberto. Cabe ressaltar que a fase de treinamento do pro- cesso de extra¸c˜ao de features, onde s˜ao detectados os pontos-chave e os descritores do objeto alvo, precisa ser realizada apenas durante o in´ıcio do procedimento.

(a) (b)

Figura 2.5: Detec¸c˜ao de objetos por compara¸c˜ao de features.

Documentos relacionados