PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA

Tamanho: px
Começar a partir da página:

Download "PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA"

Transcrição

1 PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO DEPARTAMENTO DE INFORMÁTICA PÓS GRADUAÇÃO EM INFORMÁTICA INF2608 FUNDAMENTOS DE COMPUTAÇÃO GRÁFICA RELATÓRIO: IMAGENS SÍSMICAS VISUALIZAÇÃO E DETECÇÃO DE HORIZONTES PROFESSOR: MARCELO GATTASS ALUNO: EDUARDO REIS RIO DE JANEIRO 2014

2 APRESENTAÇÃO Este relatório tem como objetivo descrever as atividades realizadas em referentes à IMAGENS SÍSMICAS VISUALIZAÇÃO E DETECÇÃO DE HORIZONTES, solicitado para a avaliação do aluno. INTRODUÇÃO Abaixo da superfície terrestre, existem inúmeras camadas de estruturas rochosas. Dentre algumas dessas camadas, pode se encontrar depósitos óleo e gás. Estes são os dois minerais mais utilizados como fonte de energia no mundo, sendo assim importantes no quisito de exploração. Fazer perfurações em busca desses minerais acarreta em um custo muito elevado. Por esta razão, as industrias de óleo e gás precisam de uma estratégia eficiente para encontrar possíveis áreas de exploração antes mesmo de cogitarem iniciar o processo de perfuração. Os estudos sísmicos vem tornando essa busca possível através do envio de energia na forma de ondas acústicas em direção ao solo a fim de se obter uma imagem sonora do que existe abaixo da superfície. Vale aqui destacar dois dispositivos, um que transmite as ondas para o solo e outro que capta a reflexão das mesmas. Os aparelhos utilizados para essa captação são chamados de geophones ou hydrophones, que são posicionados, respectivamente, no solo, ou no mar. Da mesma forma, tratores especializados geram as vibrações no solo, e pistões de ar (air gun) presos a navíos desempenham o mesmo papel no mar. Milhares de ondas são geradas, e estas, após serem emitidas Figura 1, navegam através de um meio no caso as camadas do solo, ou o fundo do oceano. E cada um desses meios possui como propriedade, um índice indicando o quanto essa onda foi refratada, sendo repassada às camadas seguintes, e o quanto foi refletida. Após tais reflexões serem captadas, seus dados são armazenados em forma bruta e posteriormente processados por um cluster, filtrando do dados obtidos de cada traço informações que não são desejadas, tais como vibrações causadas por outras fonte, como o movimento de um trator nas proximidades.

3 Figura 1: Utilização de Hydrophones e Air Gun para produzir e captar vibrações. [Fonte: NewImages/Marine/Marine%20Seismic%20Cartoon.jpg] Encontrar as diferentes camadas no solo, chamadas de horizontes, como também as falhas geológicas são etapas importantes na busca dos hidrocarbonetos. Nesse trabalhos estaremos avaliando a complexidade na detecção desses horizontes e para seu desenvolvimento foi disponibilizada uma imagem sísmica no formato.sim. No desenvolvimento desse estudo, a visualização da imagem sísmica é apresentada como passo inicial, seguido da detecção semi automática de um horizonte escolhido pelo usuário através do clique do mouse. Em termos de implementação, foram fornecidas funções para abrir o arquivo.sim. Também foi utilizada a biblioteca OpenCV apenas para manipulação e visualização de imagens através da estrutura cv::mat, como também para capturar eventos do mouse e teclado.

4 VISUALIZAÇÃO A imagem fornecida pode ser tratada como uma matriz de float, onde cada célula possui um valor de um píxel, e cada coluna representa um traço. Esta imagem é imprópria para visualização, pois um dos padrões mais comuns para visualização em cinza utiliza pixels em no intervalo [0,255]. Uma tentativa disso é observada na Figura 2 a seguir. Não possuindo representações para os valores negativos, nem maiores que 255. Figura 2: Dado bruto visualizado em escala de cinza Uma abordagem sugerida foi a utilização de uma imagem colorida, onde o valor negativo mais extremo é representado pela cor vermelha, o valor zero pela cor branca, e o valor positivo mais extremo pela cor azul. Assim os valores dentro de um desses intervalos devem ser interpolados linearmente. Gerando uma melhor representação visual do mesmo dado, conforme a Figura 3.

5 Figura 3: Imagem dos dados interpolados representados em tons de vermelho, branco e azul. Apesar de se ter obtido uma imagem que gere uma melhor visualização. O processamento sobre a imagem para a detecção de horizontes se dará ainda sobre os dados originais obtidos apartir do arquivos.sim. DETECÇÃO DE HORIZONTES A detecção de horizontes, por questões de simplificação, foi realizada considerando se apenas os horizontes cuja amplitude é negativa. Assim, temos como etapa seguinte isolar apenas estas informações em uma estrutura a parte, sendo visualizados de maneira semelhante à descrita anteriormente na Figura 4.

6 Figura 4: Imagem contendo apenas as amplitudes negativas Em seguida é aplicada uma operação de supressão não maxima a fim de simplificar a estrutura dos horizontes. Contudo, por se tratar de valores negativos, será adaptado, portanto sendo entendido como uma supressão não minima, tratada da seguinte forma: Para cada pixel em um traço, sua vizinhança (no traço) à uma certa distância será avaliada. Se esse determinado pixel não possuir a menor amplitude dentre seus vizinhos ele receberá então o valor zero; caso contrario seu valor é mantido. Após a supressão, a imagem da Figura 5 pode ser obtida.

7 Figura 5: Resultado da supressão sobre as amplitudes negativas da imagem sísmica. ABORDAGENS PARA DETECÇÃO DE HORIZONTE Para um dado clique que ocorre sobre essa imagem, um horizonte é detectado a partir daquela posição escolhida na imagem. Inicialmente, a posição escolhida é considerada apenas uma aproximação da posição de um pixel de um dado horizonte uma vez que é possivel que o usuário realize o clique fora do horizonte pois a largura do mesmo foi bem reduzida pela supressão. Então, dada a vizinhança do local escolhido pelo usuário, a posição da menor amplitude ali encontrada é considerada, então, como ponto inicial da detecção. Em seguida, possuindo como ponto de partida um valor de um pixel pertencente a um determinado horizonte, é realizada uma busca interativa por pixels em sua vizinhança que possuem o valor mais proximo possivel ao valor anteriormente obtido. A vizinhança de um pixel são todos os pixels em um determinado raio, sendo considerados apenas as próximas colunas à direita do pixel em questão. Por exemplo, para um determinado pixel, em vermelho na Figura 6, os seus vizinhos para um raio igual a 2, são os os pixels em roxo.

8 Figura 6: Vizinhança de um pixel Para discriminar a distância de dois pixels vizinhos, três abordagens foram utilizadas. Distância entre Valores Absoluto A distância entre dois pixels é computada pelo módulo de sua diferença. Distância entre Traços Para um dado pixel, seus N vizinhos acima e abaixo no mesmo traço são considerados. Cada valor é considerado como uma componente de um vetor em um espaço de 2 * N + 1 dimenções. Dados dois pixels, a distância entre eles é computada como sendo o seno do angulo entre esses dois vetores. Distância entre Vizinhanças Para um dado pixel e um dado raio R, seus vizinhos dentro desse raio são considerados. Assim, temos (2 * R + 1) 2 1 vizinhos. Por exemplo, para um R = 1 igual a 1 temos 8 vizinhos, R = 2 temos 24, e assim sucessivamente. Semelhante à Distancia entre Traços, cada valor (nesse caso, incluindo o proprio pixel em questão) é considerado como componente de um vetor em um espaço de (2 * R + 1) 2 dimenções. Dados dois pixels, a distância entre eles é computada como sendo o seno do angulo entre esses dois vetores.

9 RESULTADOS Nas seções anteriores foram mencionados vizinhança, utilizando os termos raio ou distância para se determinar o conjunto de pixels vizinhos a um determinado pixel. Os valores que especificam o tamanho dessas vizinhanças foram estabelecidos por: (18:utils.h) // Ao clicar, o usuario pode errar o horizonte, este valor representa o raio de uma // vizinhanca que sera percorrida em busca do menor valor. Encontrado o menor valor, // naquela posicao se iniciara a deteccao de horizonte #define CLICK_IMPRECISION 6 // Na deteccao de horizonte, uma vizinhanca e analisada, e pixels dentro dessa visinhanca sao // comparados. Este valor define o raio que restrige esta a vizinhanca. #define GROWINGRIGHT_RADIUS 1 // Antes da deteccao de horizontes, ocorre a supressao dos valores nao minimos, e isso ocorre // avaliando se cada traco. Esse valor devine o numero de vizinhos acima e abaixo do pixel para // realizar a comparacao da supressao #define SUPPRESSION_SIZE 7 // Quando comparados dois pixels, o pixel e seus os vizinhos em um traco sao considerados como um unico vetor. Esse valor indica o tamanho desse vizinhanca para cima e para baixo. #define TRACE_DISTANCE 15 // Quando comparados dois pixels, o pixel e seus os vizinhos dentro de um determinado raio sao considerados. Esse valor se refere a este raio. #define NEIGHBOR_DISTANCE 5

10 As Figuras 7, 8, e 9 mostram os resultados obtidos utilizando cada uma das diferentes medidas de distâncias apresentada anteriormente. Figura 7: Detecção de horizontes: Distância entre Valores Absoluto Figura 8: Detecção de horizontes: Distância entre Traços

11 Figura 9: Detecção de horizontes: Distância entre Vizinhanças CONCLUSÕES Observa se que o método que calcula a distância utilizado na Figura 8 aparenta ter o melhor dentre os apresentados. De fato, o traço de um pixel representa melhor suas informações, uma vez que é consistente com a natureza da imagem em que cada traço tem uma combinação propria das amplitudes de seus vários horizontes. Contudo, apesar de que a técnica da Figura 8 se destaca aqui, está ainda muito aquem de detectar perfeitamente um horizonte. Estudos futuros são necessários para entender melhor o processo de aquisição das imagens, entender os ruidos presentes, como também avaliar atributos estudados pela geologia em cada traço, dentre outras coisas. REFERÊNCIAS Marcelo Gattas. Notas e Materiais de Aula Non maximum suppression.

12 Discontinuity Theory. butes/discontinuity_bg.htm Seismic attribute. 3D Seismic.