Escolar Documentos
Profissional Documentos
Cultura Documentos
Inspiração da natureza
◦ O homem possui um sistema de visão estéreo onde a informação sobre distância
a objetos no campo visual é obtida usando as diferenças entre as imagens de um
mesmo objeto, obtidas por cada um dos olhos, para estimar a profundidade em
que ele se encontra
◦ Com olhos posicionados à frente da cabeça o campo visual é captado pelos dois
olhos ao mesmo tempo
Motivação
Inspiração da natureza
◦ Homem - campo visual de 180 graus, com cerca de 140 graus de
sobreposição
cabeça
Motivação
Componente u
Cálculo do fluxo óptico
Considera-se que o brilho da imagem é constante no tempo, ou seja , ou ,
que resulta em , sendo as derivadas de em relação a , a e ao tempo. Os
valores são as componentes do vetor de fluxo óptico nas direções .
Restrição do fluxo óptico: a diferença entre as imagens na sequência deve ser
pequena
É um problema mal condicionado (uma equação e duas incógnitas)
Algoritmos diferenciais
Usando critério de suavidade em toda a imagem
Usando critério de suavidade local
◦ Fluxo constante, com solução por mínimos quadrados
Algoritmo de Horn e Schunck
Minimiza a soma dos laplacianos de e
O fluxo óptico é obtido de maneira iterativa, através das equações
u n1 u n I x I x u n I y v n I t 2
I x2 I y2
i,j,k i,j+1,k
v n1
v Iy
n
I u I v
x
n
y
n
I
t
2
I I
2
x
2
y i,j,k+1 i, j+1, k+1
i+1,j,k i+1,j+1, k
onde é uma constante, é a iteração atual, e são i+1,j,k+1 i+1,j+1,k+1
valores iniciais
i+1,j,k+1 i+1,j+1,k+1
quaisquer. Os valores e são uma média ponderada de e em uma
vizinhança 33 do pixel considerado
Algoritmo de mínimos quadrados
(Lucas e Kanade)
Considera fluxo constante em regiões de pixels.
Para cada pixel na região tem-se , ou
Monta o sistema de equações , onde e
Obtém a estimativa de mínimos quadrados ponderada do vetor de fluxo
óptico na região de pixels é obtida, onde é uma matriz de pesos
Se é a matriz identidade, então a estimativa do vetor de fluxo óptico por
mínimos quadrados em tal região torna-se
Algoritmo de mínimos quadrados
modificado
Considera fluxo constante em cada região de pixels
Escreve a equação para pixels escolhidos aleatoriamente e monta o
sistema , onde e
Obtém a solução de mínimos quadrados dada por
Vantagem: não calcula as derivadas do brilho em todos os pixels, o que
pode ser muito interessante em termos computacionais, principalmente
quando se toma .
Comparação entre os algoritmos
Experimento de movimento paralelo à parede (componente vertical
esperada do vetor de fluxo óptico nula - , com componente horizontal de
valor constante - )
Experimento de movimento perpendicular à parede
Tempo de cálculo
Complexidade do algoritmo
Movimento paralelo à parede
O robô se move paralelamente à parede com velocidade constante
O fluxo óptico medido deve ser horizontal e de módulo constante em toda
a imagem
Movimento paralelo à parede -
Resultados
Algoritmo f f
Algoritmo (s)
Valores subestimados
Tempo de execução Interessante
para Robótica
Muito interessante
para Robótica
Características do Metodologia
problema • Definição do algoritmo de cálculo do
fluxo óptico
• Desenvolvimento de um
sistema de detecção de • Detecção de objetos baseada numa
obstáculos baseado no fluxo
óptico para controlar a óptico Aplicação
estratégia de segmentação do fluxo
Diferença
(u,v)(i,j)
x
Obtenção do diagrama de tempos
para contato
Determinar o foco de expansão do campo de fluxo óptico, cujas
coordenadas são as coordenadas do pixel para o qual as
componentes do fluxo óptico são nulas
Calcular o tempo para contato a cada região da imagem como
Mapa de tempos
para choque
Segmentação
Definição da manobra para desvio
do obstáculo
determinação do ângulo de giro é feita a partir do diagrama de
A
tempos para contato
◦ Tratar cada coluna da imagem como sendo um sensor de tempo para
choque (distância)
◦ Atribuir um ângulo de giro à direita e à esquerda para cada coluna, capaz
de fazer o robô desviar-se do obstáculo naquela direção, dados por e ,
para
◦ Calcular os ângulos de giro para a direita e para a esquerda, através de
fusão de dados relativos aos ângulos de desvio usando dois filtros de
Kalman, considerando e , em um caso, obtendo , e e , no outro caso,
obtendo . O ângulo de desvio global, então, é escolhido como .
Detecção de objetos planos
verticais tais como paredes
rotação
Detecção de objetos a partir do
fluxo médio
O sistema de controle
Utilizar os dados do sensoriamento baseado
no fluxo óptico para controlar a navegação
do robô
Condições do problema:
◦ O robô deve vagar pelo ambiente, apresentando
um comportamento reativo
◦ As imagens devem ser adquiridas em translação
pura
Uma ideia do sistema de
controle
Iniciar movimento
de translação
Determinar o
ângulo de giro
necessário
O sistema de controle implementado
Início do
Obstáculo Lateral Movimento
Perigo à
Frente Fim da Ré Fim do Giro Comando
Avaliação Retroceder Girar de
Avançar
Ângulo
Iniciar
Calculado
Normal Calcular
Inativo
Ângulo
Detalhes de implementação
Aquisição de imagens feita em 320240, não 640480
Cálculo do fluxo óptico pelo método de Mínimos Quadrados
Modificado, usando a biblioteca OpenCV da Intel. Imagens
divididas em regiões de 1010 pixels. Tomados 12 pixels fixos
A segmentação é realizada usando vizinhança-quatro
Na determinação do FOE são eliminados os objetos formados
por apenas uma região
O tempo para contato a cada objeto é obtido como o valor
médio dos tempos das regiões pertencentes a ele
O diagrama de tempos para contato é feito eliminando objetos
com apenas uma região e os objetos muito próximos ao FOE
Primeiro experimento de navegação
Trajeto do robô no primeiro
experimento
Segundo experimento de navegação
Trajeto do robô no segundo
experimento
Terceiro experimento de navegação
Trajeto do robô durante o
terceiro experimento
Experimento de detecção de paredes
Trajeto do robô durante o
experimento onde evita parede
Navegação em Corredores