TRABALHO FINAL DE VISÃO COMPUTACIONAL E REALIDADE AUMENTADA

TEMA : 

DETERMINAÇÃO DO FLUXO ÓPTICO EM DADOS SÍSMICOS

 

 

 

1.     INTRODUÇÃO

2.     FUNDAMENTOS TEÓRICOS

                              I.      Método de Lucas-Kanade

                           II.      Método de Horn-Schunck

3.     IMPLEMENTAÇÃO

4.     CONCLUSÕES

5.     REFERENCIAS

 

Código-Fonte/Binários

Apresentação

Imagens

 

 

 

1.    INTRODUÇÃO

 


A técnica conhecida como fluxo óptico (optical flow) constitui uma importante ferramenta para estimar o movimento em uma seqüência de imagens [1].

O fluxo óptico pode ser definido como o campo de velocidade 2D, descrevendo o movimento aparente na imagem, que resulta de movimentos independentes de objetos na cena ou de um  observador em movimento (Figura 1) . Ou seja, dado um conjunto de imagens, seu fluxo óptico pode ser entendido como a distribuição da  velocidade aparente do movimento dos padrões de  intensidade, tomando as imagens em sequência. Dessa forma, a variação de fluxo óptico surge a partir de um movimento relativo de objetos e outros elementos de imagem, e proporciona informações importantes sobre a cena visualizada e sua respectiva taxa de mudança.

A descontinuidade no fluxo pode ajudar na segmentação de imagens em regiões que correspondam a diferentes objetos. Outras aplicações de fluxo óptico incluem correspondência de pontos, navegação exploratória, e avaliação de tempo para colisão [2].

 

 

Figura 1 – A imagem na posição t é a mesma imagem na posição t+δt

 

Os métodos para a computação do fluxo óptico podem ser divididos em três grandes grupos principais: técnicas diferenciais, técnicas de correlação e técnicas baseadas em freqüência [2] . Neste trabalho, foram examinadas  duas abordagens baseadas em técnicas diferenciais, nas quais a hipótese inicial para a computação do fluxo óptico é  de que a intensidade entre quadros diferentes em uma seqüência de imagens é aproximadamente constante em um intervalo de tempo pequeno. Consequentemente, em um  pequeno intervalo de tempo o deslocamento será mínimo.

 

Se considerarmos I(x,y,t) a intensidade do pixel localizado na posição (x,y) no tempo t, assume-se, por hipótese, que o intervalo de tempo entre as duas imagens é muito pequeno e a intensidade é aproximadamente constante, ou seja

 

 

A equação acima pode ser expandida por série de Taylor, da seguinte maneira

 

 

sendo   O2 um termo de alta ordem. Agrupando os termos e eliminando o termo de alta ordem O2, temos

 

 

 

Dividindo os dois lados da equação por t, temos

 

 

Mas sabemos que  são os dois componentes do vetor velocidade procurado. Esse vetor representa a velocidade do pixel em (x,y) no tempo t. Além disso, constitui o gradiente da função nas direções x e y. Dessa forma, podemos reescrever a equação anterior da seguinte maneira

 

 

sendo essa equação chamada de equação de restrição do movimento do fluxo óptico.

Entretanto, somente a equação de restrição do movimento não é suficiente para estimar os componentes de v, pois o número de incógitas a serem descobertas é maior que o número de equações disponíveis. Tal fato é uma consequência do problema da abertura [1] : de maneira geral a intensidade local em um ponto da imagem para medirmos a velocidade completa naquele ponto, mas existe informação suficiente para medirmos a componente normal ao ponto. Por essa razão, é necessário que adicionemos outras restrições ao modelo para acharmos todas as componentes do vetor velocidade. Nesse ponto, surgem as metodologias de Lucas-Kanade e Horn-Schunck para a estimativa dos valores de v.

 

 

1.    FUNDAMENTOS TEÓRICOS

 

Nesta seção, são detalhados os fundamentos teóricos necessários à compreensão do presente trabalho. São examinados os métodos de estimação do fluxo óptico através dos métodos de Lucas-Kanade e Horn-Schunck, assim como são fornecidos detalhes a respeito das medidas de desempenho utilizadas neste trabalho. 

  

                 I.      Método de Lucas-Kanade

 

Trata-se de um método não-iterativo que assume uma fluxo óptico constante local. Assumindo que o fluxo (Vx,Vy) é constante em pequenas janelas de tamanhos m x m e com m>1, sendo o mesmo centrado nestas janelas. Através da numeração dos pixels de 1...n, podemos encontrar o seguinte conjunto de equações

 

 

Dessa forma, como existem mais equações que incógnitas, o sistema passa a ser sobre-determinado. Em notação matricial, temos

 

 

 

 

 

            Para resolver esse sistema sobre-determinado, podemos utlizar o método dos mínimos quadrados

 

 ou

O que implica em

 

 

            sendo i=1,...n.

 

O método Lucas-Kanade é considerado razoavelmente robusto na presença de ruídos, mas a malha de pontos do campo de velocidade não é tão densa quanto o esperado na presente aplicação.

 

 

 

             II.      Método de Horn-Schunck

 

Para simplificar o processo de obtenção do campo de vetores v, o método de Horn-Shunck assume que a superfície a ser trabalhada é plana e também que a iluminação incidente sobre a superfície é uniforme. Também é assumido que a reflexão varia suavemente e não existe descontinuidades no fluxo das velocidades [2]. Dessa maneira, no modelo existem duas restrições: a restrição de iluminação constante, a qual assume que a iluminação total é constante nas duas imagens e a restrição de suavização, que assume que pontos vizinhos apresentam velocidades semelhantes.

Consideremos a restrição de iluminação constante. Se a iluminação de uma imagem no ponto (x,y), no plano da imagem no tempo t é descrito por E(x,y,t), ao movermos a cena da imagem a iluminação de um ponto particular no modelo, temos

 

 

Expandindo a equação acima pela regra da cadeia, temos

 

 

   ,  sendo      as componentes u e v do vetor de velocidade procurado.

 

O que resulta em uma única equação com duas variáveis desconhecidas

 

 

Se cada ponto se movesse de forma independente, seria quase impossível recuperar o campo de movimento. Dessa maneira, a restrição de suavização considera que pontos vizinhos têm velocidades semelhantes e a velocidade varia suavemente na maior parte do campo.

Uma maneira de expressar esta restrição é minimizar o quadrado da magnitude do gradiente da velocidade do fluxo nas duas direções

 

 

 

 

A estimativa das derivadas parciais Ex, Ey e Et é realizada pela média das quatro primeiras regiões adjacentes da imagem, da seguinte maneira

 

 

 

 

 

 

 

 

O problema passa a ser então um problema de minimização, ou seja, achar o valor eb que minimize a expressão

 

com a restrição

 

 

Uma solução direta para este problema é computacionalmente cara, portanto é necessária uma abordagem interativa [6]. Geralmente, utiliza-se a abordagem iterativa de Gauss-Seidel, a qual utiliza os valores das derivadas estimadas e a média dos vizinhos obtidos na iteração anterior para estimar os novos valores para a iteração atual. Dessa maneira, novos valores são obtidos a partir das equações abaixo.

 

 

 

 

 

         III.      Medidas de desempenho

 

A medida mais comum de desempenho na área de fluxo óptico é o erro angular (AE – Angular Error) [3]. O erro angular entre dois vetores (u0,v0) e (u1,v1) é o ângulo no espaço 3D entre (u0,v0 ,1) e (u1,v1 ,1). Geralmente é calculado através da normalização dos vetores, seguido do cálculo do produto escalar entre os dois e finalmente, da tomada do cosseno inverso desse valor escalar. A meta do AE é fornecer uma medida relativa de performance que evita divisões por zero em caso de fluxos nulos. A média dos erros angulares em uma imagem fornece o AAE (Average Angular Error), utilizado neste trabalho.

Outra medida bastante usada é o erro definido por sqrt( (u0 -u1)2 + (v0 -v1)2), a qual fornece uma medida mais absoluta de performance [3]. A média dessa medida foi utilizada como critério de performance nesse trabalho. Para a interpolação, foi utilizada a interpolação bilinear [6].

 

 

 

 

2.    IMPLEMENTAÇÃO

 

Inicialmente, para testar os algoritmos descritos neste trabalho, foram utilizadas algumas imagens de teste bastante simples, além de imagens disponíveis em uma base de imagens para testes de fluxo óptico (disponível em http://vision.middlebury.edu/flow) [3]. Foi verificado que a implementação disponível em OpenCV do método de Lucas-Kanade não gerava uma malha de vetores densa, baseado-se em feições achadas na imagem para determinar o fluxo de movimento. Com isso, apenas imagens com feições bastante características (por exemplo, cantos, arestas) obtiveram resultado razoável (Figura 2). Para imagens sísmicas e imagens de baixo contraste, este método não apresentou bons resultados.

 

Figura 2 – Resultado de um teste realizado utilizando a implementação do método de Lucas-Kanade (obtido a partir da sequência “Urban”, frames 13 e 14)

 

O método de Horn-Schuck, implementado em C++ utilizando a biblioteca de manipulação de imagens CImg [7], apresentou melhores resultados em uma variedade maior de imagens. As figuras 3, 4 e 5 apresentam alguns campos obtidos utilizando-se essa implementação.

 

Figura 3 – Fluxo óptico obtido através do método de Horn-Schunck, mostrando uma rotação simples de uma esfera

 

 

 

Figura 4 – Fluxo obtido a partir da sequência de imagens “Army” , frames 7 e 8

 

Os dados sísmicos utilizados neste trabalho correspondem a 7 secções (fatias) de um dado sísmico 3D. A deformação de cada fatia foi realizada a partir de uma deformação radial sintética, em que todos os vetores tendem a apontar para o centro da imagem, tal como na Figura 5.

 

 

Figura 5 –Fluxo sintético aplicado às imagens sísmicas

 

 

 

            Os testes do método de Horn-Schunck foram realizados variando-se o valor do parâmetro alpha e também o tamanho máximo que cada componente de velocidade pode ter. Para alpha, esses valores correspondem a 1,2,4,16,32 e 64, enqueanto que os tamanhos máximos das componentes são 0.1, 0.5, 2.5, 4.0 e 5.0. O número de iterações realizadas em cada teste foi 400. A Figura 6 mostra o resultado obtido para o arquivo fault2_CROSSLINE_2453.

 

Figura 6 – Fluxo obtido utilizando a partir da imagem fault2_CROSSLINE_2453, com a = 32 e tamanho máximo = 1.0. O erro angular médio para este caso foi 3.04 e o erro médio quadrático ficou em 0.054027

 

A tabelas abaixo resumem os resultados obtidos com o método de Horn-Schunck nas imagens sísmicas, para tamanhos máximos iguais a 0.1, 0.5, 2.5, 4.0 e 5.0, respectivamente. O erros exibidos são calculados através da soma do erro médio de cada imagem processada, dividida pelo número n = 7, que é o total de imagens disponíveis. Os resultados completos encontram-se aqui.

 

Tabela 1 – Resultados para tamanho máximo = 0.1

alpha

AAE/n

Erro médio/n

1

3,105141143  

0,055331571

2

2,702839143  

0,047801286

4

2,240175714  

0,039438714

8

1,752179857  

0,030770286

16

1,296418286  

0,022738714

32

0,967287857  

0,01696

64

0,972443857  

0,017050429

 

 

Tabela 2 – Resultados para tamanho máximo = 0.5

alpha

AAE/n

Erro médio/n

1

6,734126

0,136654857

2

5,981259714

0,119014429

4

5,033561143

0,098692571

8

3,984154857

0,077368143

16

3,036029571

0,058686

32

2,631265286

0,050920429

64

3,759745429

0,072422714

 

 

Tabela 3 – Resultados para tamanho máximo = 1.0

Alpha

AAE/n

Erro médio/n

1

6,343426

0,155768

2

5,642463

0,136625

4

4,774084

0,114346

8

3,834534

0,091144

16

3,048398

0,072202

32

3,033998

0,0724

64

5,587048

0,13221

 

 

Tabela 4 – Resultados para tamanho máximo = 2.5

Alpha

AAE/n

Erro médio/n

1

6,607674

0,397518

2

5,887683

0,35305

4

5,039051

0,303064

8

4,237859

0,255611

16

3,752052

0,222191

32

4,211391

0,221674

64

8,522003

0,372678

 

 

Tabela 5 – Resultados para tamanho máximo = 4.0

Alpha

AAE/n

Erro médio/n

1

16,71007

1,666282

2

15,49354

1,461734

4

13,8477

1,236428

8

11,89009

1,014787

16

10,10927

0,837142

32

9,948751

0,765847

64

14,13222

0,924888

 

Tabela 6 – Resultados para tamanho máximo = 5.0

Alpha

AAE/n

Erro médio/n

1

26,27266

2,997773

2

25,14178

2,643088

4

23,51202

2,259035

8

21,46852

1,887177

16

19,45598

1,587057

32

18,73891

1,434734

64

21,1927

1,50793

 

 

 

Esses resultados indicam que, para pequenos deslocamentos, que são mais comumente encontrados em dados sísmicos, o método apresenta desempenho razoável, com erro angular médio de poucos graus. À medida que o deslocamento aumenta, entretanto, esse erro vai aumentando, o que implica que para deslocamentos cujas componentes vetoriais são maiores que 4, o método não apresenta um desempenho tão bom.

 

 

3.    CONCLUSÕES

 

O uso de tecnologias para a análise de dados sísmicos variantes no tempo vêm crescendo em aceitação nos últimos anos. A grande aceitação do emprego da análise sísmica 4D pela indústria de petróleo é evidenciada pelo grande número de publicações recentes nas principais conferências e revistas científicas da área geofísica que testemunham casos de sucesso da aplicação de tais tecnologias.

Com base nos resultados observados, podemos concluir que o método de Horn-Schunck permite recuperar com razoável precisão os deslocamentos de pequena magnitude ocorridos em pares de imagens sísmicas deformadas a partir de um campo sintético. Os resultados mostraram que para deslocamentos da ordem de sub-pixels, comumente encontrados em dados sísmicos, o método é capaz de estimar o fluxo óptico com um erro tolerável. Com o intuito de avaliar melhor a metodologia, entretanto, novas investigações se fazem necessárias, como, por exemplo, o uso de dados sísmicos com campos de deslocamentos naturais. Para trabalhos futuros, pretende-se realizar a extensão da presente implementação do algoritmo de Horn-Schunck para dados sísmicos tridimensionais e a implementação de outras técnicas de estimativa de fluxo óptico, tais como as técnicas variacionais. Alternativamente, o uso de deformações baseadas na interpolação através de funções de base radial, proposto em [4], deverá ser bastante útil para obter deslocamentos mais próximos dos que naturalmente ocorrem em dados sísmicos.

 

 

4.    REFERÊNCIAS

 

[1] BARRON, J. L., THACKER, N. A. Tutorial: Computing 2D and 3D Optical Flow. Imaging Science and Biomedical Engineering Division, Medical School, University of Manchester. Manchester, 2005.

[2] FARIA, Alexandre Wagner. Fluxo Óptico. Universidade Federal de Minas Gerais. Disponível em http://www.verlab.dcc.ufmg.br/_media/cursos/visao/2007-1/alunos/alexandrewagner/optical_flow_article.pdf?id=cursos%3Avisao%3A2007-1%3Aalunos%3Aalexandrewagner%3Aindex&cache=cache

[3] BAKER, Simon, SCHARSTEIN, Daniel, et al. A database and Evaluation Methodology for Optical Flow. In Proc. Eleventh IEEE International Conference on Computer Vision (ICCV 2007), Rio de Janeiro, Brazil, October 2007

[4] BOER, Aukje,SCHOOT, Martijin S., BIJL, Hester. New method for mesh moving based on radial basis function interpolation. European Conference on Computational Fluid Dynamics, ECCOMAS CFD 2006.

[6] Interpolação bilinear. Disponível em http://en.wikipedia.org/wiki/Bilinear_interpolation

[7] Biblioteca para processamento de imagens CImg. Disponível em http://cimg.sourceforge.net/reference