INF2608 - Fundamentos da Computação Gráfica Professor: Marcelo Gattass Aluno: Rogério Pinheiro de Souza Trabalho 02 – Visualização de Imagens Sísmicas e Detecção Automática de Horizonte Resumo Este trabalho teve como primeiro objetivo visualizar dados de ondas sísmicas. Tais dados representam a amplitude de propagação de ondas geradas artificialmente, cujos valores estão relacionados ao contraste de impedância acústica, produto entre a velocidade compressional e a densidade das camadas que compõem o solo [1]. A representação das características do solo através de imagens é de extrema importância para indústria de petróleo, por exemplo. A partir delas que se decide a localização das reservas de óleo e/ou gás, avaliando-se o seu conteúdo e viabilidade de sua exploração. Como o solo é composto por camadas que apresentam diversas características sísmicas distintas, as variações de diversas destas características podem ser utilizadas como indicadores de falhas geológicas ou da presença de hidrocarbonetos. Quando duas camadas consecutivas possuem impedância acústica distintas, uma superfície pode ser gerada a partir das amplitudes medidas. Tal superfície é denominada de horizonte sísmico [2]. Portanto, a detecção desses horizontes é uma tarefa importante. No entanto, o ruído presente nas amplitudes medidas, dificulta a detecção destes. Esse trabalho tem como segundo objetivo utilizar técnicas de processamento de sinais para reduzir tais ruídos e, deste modo, auxiliar no reconhecimento automático desses horizontes. Introdução O método de reflexão sísmica consiste, basicamente, em gerar ondas sísmicas artificiais através de explosivos, canhões de ar comprimido ou outra fonte sísmica, e registrar as reflexões provenientes das diversas interfaces abaixo da superfície através de receptores. A onda gerada se propaga pelo interior da terra, sendo parcialmente refletida ao encontrar interfaces entre as camadas que apresentarem contraste significativo de propriedades. A medida gravada em cada receptor é chamada de traço sísmico. O conjunto de traços gravados para uma mesma onda é chamado de tiro sísmico. Um levantamento sísmico consiste em um conjunto de diversos tiros sísmicos realizados em diferentes localizações. Quando estas localizações formam uma linha, o levantamento sísmico resulta numa imagem bidimensional, chamada seção vertical. Quando as localizações desses tiros formam uma rede bidimensional sobre a superfície do solo, tal aquisição gera um cubo sísmico. Uma seção vertical contém portanto um conjunto de valores reais que representam os valores das amplitudes das ondas sísmicas. Para interpretar esses dados como imagens, temos que mapear tais valores para uma escala de cor. Duas formas comuns de mapeamento são: 1. Visualizar em uma imagem com escalas de cinza onde o intervalo de amplitude é mapeado para o intervalo [0, 1]; 2. Visualizar em uma imagem com cores e tonalidades de azul, branco e vermelho. Nesse caso, o valor mínimo da amplitude é mapeado para o azul, o valor nulo para branco e o valor máximo para vermelho. Sendo assim, valores negativos são mapeados entre azul e branco e valores positivos entre branco e vermelho. Implementação Esta seção está dividida em dois blocos. No primeiro, será descrito aspectos da visualização e do método implementado para realce da imagem. No segundo, descreverei o método utilizado para, dado um ponto da imagem, detectar automaticamente o horizonte que passa por esse ponto. 1 – Visualização e Realce das Imagens Sísmicas O arquivo fornecido simplesmente é um arquivo binário contendo, inicialmente um cabeçalho com as dimensões da imagem, e a seguir as informações das amplitudes para cada tiro sísmico (ou seja, para cada coluna da imagem). A geração da imagem utilizando escalar de cinza é mostrada na Figura 1. Nessa geração o mapeamento foi feito linearmente. Figura 1 - Geração da imagem a partir de dados sísmicos em tons de cinza Os mesmos dados foram utilizados para, como mostrado na Figura 2, a geração da imagem no formato azul, branco e vermelho, já explicado anteriormente. Também nesse caso, o mapeamento do intervalo de valores negativos para as tonalidades de azul, assim como dos valores positivos para as tonalidades de vermelho, foi realizada linearmente. Figura 2- Visualização dos dados sísmicos no formato azul, branco e vermelho Como o intervalo das amplitudes é muito grande (nesse exemplo, os valores vão de 22.475 a 23.065), o mapeamento para valores de 0 a 1, como acontece na visualização em tons de cinza, faz como um conjunto grande de valores de amplitudes seja mapeado para o mesmo tom de cinza, mascarando diferenças de amplitude. O mesmo acontece para o formato azul, branco e vermelho. Com objetivo de realçar a imagem, utilizei um filtro de passa banda. Um filtro de passa banda tem como objetivo permitir a passagem das frequências de uma certa faixa e rejeitar ou atenuar as frequências fora dessa faixa. Com base no histograma das amplitudes, a ideia foi utilizar o mínimo e o máximo de uma faixa central do histograma para mapear os valores das amplitudes para tons de cinza. Os valores abaixo do mínimo, são mapeados para 0 (preto) e acima para 1 (branco). A determinação dessa faixa central pode ser configurada na interface do programa através de um slider que representa a porcentagem do intervalo total das amplitudes. A Figura 3 apresenta a visualização dos dados em tons de cinza utilizando apenas 20% dos dados do histograma. Nesse caso, o mínimo e máximo utilizados para o mapeamento das amplitudes para os tons de cinza foram -4259 e 4849, respectivamente. Figura 3- Visualização em tonalidades de cinza após utilizar um filtro de passa banda no sinal 2 – Detecção Automática de Horizontes Dado um ponto da imagem que representa um valor de amplitude de uma certa camada do solo para um tiro sísmico, a ideia utilizada para detecção de um horizonte que passa por tal ponto é de procurar em cada tiro vizinho (ou seja, na coluna vizinha) um outro ponto com valor de amplitude próximo. Para determinar essa proximidade, ao invés de tratar o valor da amplitude para tal ponto isoladamente, também utilizei os valores vizinhos deste na mesma coluna. Sendo assim, dado um ponto p com coordenadas x e y, e considerando uma vizinhança de tamanho 3, os valores utilizados para p são os valores de amplitude para os pontos (x, y-3), (x, y-2), (x, y-1), o próprio p, (x, y+1), (x, y+2) e (x, y+3), gerando então um vetor Vx no R7. Com objetivo de encontrar o próximo ponto do horizonte a direita da imagem (coluna x+1), obtém-se os vetores no R7 correspondentes dentro de uma janela de tamanho 2; ou seja, para os pontos (x+1, y2), (x+1, y-1), (x+1, y), (x+1, y+1) e (x+1, y+2). O vetor Vx+1 escolhido é aquele que gera o menor valor para o seno do ângulo com o vetor Vx (para obtenção do seno do ângulo foi utilizado o produto vetorial entre os vetores). Da mesma forma, conhecido o ponto da coluna x+1, obtém-se o ponto da coluna x+2 e assim por diante. De forma similar, são calculados os pontos para as colunas da esquerda. As Figuras 4 e 5 mostram a detecção do horizonte para um mesmo ponto considerando os dados de amplitudes originais e os dados de amplitude após a aplicação do filtro de passa banda. Na Figura 5 podemos perceber uma precisão maior na detecção do horizonte. Figura 4 - Detecção do horizonte para o ponto de coordenadas (91, 315) utilizando os valores originais de amplitude Figura 5 - Detecção do horizonte para o ponto de coordenadas (91, 315) utilizando os valores de amplitude após a utilização de um filtro de passa banda. Referências [1] Leite, R. Z., Introdução à Sísmica de Exploração. http://www.ebah.com.br/content/ABAAAA4wEAF/introducao-a-sismicaexploracao [2] Sheriff, R. E., Encyclopedic Dictionary of Applied Geophysics, 2002, Society of Exploration Geophysicists. 4th Edition. 429 p.