Codea Blog  

Blog Details

Optimización de la Predicción de Fracturas en Sondajes: Avances en Algoritmos y Modelos

INTRODUCCIÓN

 

IMPORTANCIA DE LA DENSIDAD DE FRACTURAS EN SONDAJES DIAMANTINOS

La determinación del número de fracturas es la parte más importante, y más difícil de hacer durante la etapa de logueo. En un tramo, es uno de los primeros registros que se tiene que loguear porque las características de RQD, Zonas de Roca Fracturada, Condición de Fractura, y casi todos los parámetros del sistema Q dependen de la identificación adecuada de fracturas.  Además se pueden identificar dos tipos de fracturas: naturales y mecánicas, las cuales poseen las siguientes características. Además estas fracturas pueden ser naturales y mecánicas.

 

Fracturas Naturales (FN)

Las Fracturas Naturales (FN) que cruzan la corrida deben ser identificadas, contabilizadas y registradas en la columna FN en el registro geotécnico. Las fracturas naturales incluyen discontinuidades abiertas y discontinuidades cerradas con relleno de mineral suave (es decir, arcilla, limo, clorita, salbanda, etc.) que se abren fácilmente con la mano. Identificar las fracturas naturales y las fracturas mecánicas en el tramo y marcar las fracturas naturales con marcador rojo. Se considera solamente las fracturas que están abiertas para mediciones de RQD, Condición de Fractura, y descripciones detalladas en el Formato de Registro de Testigos Orientados. Para identificar las fracturas naturales, buscar estas características:


- Márgenes y bordes redondeados
- Continuidad de la fractura y que cruce todo el diámetro del testigo
- Los dos lados de la fractura no se juntan bien, y/o hay espacio cuando se juntan
- Relleno alterado o superficies alteradas que es una indicación de fluidos dentro de una fractura abierta
- Si la fractura parece cerrada, pero, tiene relleno blando como arcilla o salbanda, es una fractura o zona de debilidad y debes considerarla como una fractura natural

 

Fracturas Mecánicas (FM)

Las Fracturas Mecánicas (FM); es decir, las fracturas inducidas por la manipulación o el proceso de perforación, se identifican, suman y registran en la columna de FM en el registro geotécnico como un índice para la evaluación. Tener en cuenta que a veces es difícil distinguir entre las fracturas abiertas de forma natural y las inducidas por perforación y/o manipulación, sobre todo cuando se perfora rocas foliadas o rocas sedimentarias con los planos de estratificación bien desarrollados. Para identificar las fracturas mecánicas, buscar estas características:


- Márgenes/bordes que son finos y desaparecen cuando se junta la roca.
- Fracturas que no tienen continuidad, no cruzan todo el diámetro del testigo.
- Relleno fresco o minerales que crucen la fractura.
- Superficies inalteradas y frescas.
 

Figura 1. Visualización Macroscópico de Fracturas Naturales y Mecánicas en testigos de perforación.

 

IMPORTANCIA DE LA DENSIDAD EN LOS YACIMIENTOS DE PETRÓLEO Y GAS

Las fracturas naturales son un factor crítico en el desarrollo y la gestión de los yacimientos de petróleo y gas, ya que contribuyen directamente al flujo de fluidos. La detección de fracturas es esencial para la exploración y producción de hidrocarburos, y se han desarrollado varios métodos para detectarlas, incluyendo el uso de registros petrofísicos, descripciones de núcleos, pruebas de pozos y datos sísmicos. La importancia de las fracturas naturales se debe a la relación entre la porosidad y la permeabilidad, así como a la relación entre las fracturas y los altos factores de recuperación en estos yacimientos.

 

Además, se ha argumentado que las fracturas naturales en la estructura de la roca del yacimiento son una de las razones de la alta producción de gas en los campos de gas. Las fracturas naturales se observan en muchos de los yacimientos del mundo, y su presencia es significativa en la industria del petróleo y el gas. Por lo tanto, la identificación y caracterización de las fracturas es esencial para la evaluación y explotación de los yacimientos de hidrocarburos.

 

Figura 2. Ejemplo de registros de fracturas en pozos

 


ESTIMACIÓN TRADICIONAL DEL NÚMERO DE FRACTURAS

  Un parámetros geotécnico importante considerado en la descripción de sondajes es la frecuencia de fracturas (FF). Esta corresponde a la cantidad de fracturas presentes por unidad de largo para un tramo de testigo seleccionado, se mide usualmente en fracturas/m y se calcula según la ecuación FF = Número de fracturas / Largo del tramo

 

Obtener la frecuencia de fracturas real de tramos de roca muy fracturada a partir de los testigos de sondaje es prácticamente imposible, ya que en estos tramos usualmente la roca ha perdido su disposición original al salir del pozo. Sin embargo, es posible obtener la frecuencia de fracturas real a partir del estudio del pozo donde se ha realizado el sondaje, por ejemplo, mediante el uso de Televiewer.  

  

TELEVIEWER

El Televiewer es una sonda geofísica que se utiliza en el registro de pozos diamantinos y puede complementar la caracterización geotécnica y geológica de sondajes. Este genera una imagen digital continua de alta resolución de las paredes del sondaje en 360°, la que permite determinar la dimensión y orientación de, así como también posibles cambios litológicos. El Televiewer puede adquirirse en dos variantes: óptico y acústico.

 

Figura 1. Esquemas de pozo en macizo rocoso intersecando fracturas,
con sus respectivas proyecciones geométricas captadas por la sonda Televiewer

 

 

TELEVIEWER ÓPTICO

El Televiewer óptico ofrece imágenes a color de alta resolución, permitiendo una detallada observación de las características de las paredes del pozo. Para obtener imágenes precisas, el pozo debe estar seco o con agua limpia y cristalina, y es eficaz en pozos verticales y angulares. Utiliza un lente "ojo de pez" que captura una vista de 360° a lo largo del pozo, las cuales son procesadas por un sensor de imagen digital y enviadas al operador. La iluminación de LEDs garantiza imágenes claras, y cuenta con un espejo hiperbólico junto a un magnetómetro y acelerómetro de tres ejes para orientar las estructuras y el pozo en tiempo real.

 

TELEVIEWER ACÚSTICO

El Televiewer acústico opera mediante ultrasonido, generando imágenes en tiempo real que revelan con claridad las estructuras de las paredes del pozo. Su funcionamiento se limita a pozos llenos de agua o lodo de perforación, ya que las ondas acústicas requieren un medio acuoso para propagarse. Este dispositivo emplea un transductor fijo que emite ondas de ultrasonido, las cuales, tras colisionar con un espejo giratorio, se dirigen en 360° a las paredes del pozo. Posteriormente, son reflejadas al transductor, permitiendo medir dos parámetros cruciales: el tiempo de ida y vuelta de la onda desde la pared del pozo (tiempo de tránsito) y su amplitud. Las fracturas y sus ensanchamientos influyen en estos parámetros. Al igual que el Televiewer óptico, integra un magnetómetro y acelerómetro de tres ejes para orientar las estructuras y el pozo en tiempo real.

 

En casos de roca muy fracturada donde el conteo de fracturas resulta dificultoso, se recurre a una frecuencia de fracturas estimada según el protocolo establecido por cada empresa o geólogo, que a menudo es cualitativo más que cuantitativo.

 

Figura 2. Imagen de televiewer en un pozo de 75mm de diámetro (A) Acústico (B) Óptico

 


ESTIMACIÓN DE FRECUENCIA DE FRACTURAS CON MACHINE LEARNING

 

PREPROCESAMIENTO DE DATOS

Los datos necesarios son imágenes de sondajes con su respectivo metraje. Además se debe contar con la información e imágenes extraídas por sondas Televiewer acústico y óptico de cada uno de los sondajes.  La nomenclatura utilizada para asignar el nombre de cada imagen debe ser mediante unas etiquetas de forma rectangular, delimitando sus extremos de inferior-superior e izquierdo-derecho. Se etiquetan tanto imágenes de los testigos de sondajes, como las imágenes de sus respectivas secciones de Televiewer, además cuenta con dos etiquetas distintas para tramos fracturados de los testigos y de los Televiewer, denominadas Fracturado y Fracturado (TV), respectivamente. Los pasos a seguir son:

 

1. Se selecciona y etiqueta un tramo de roca fracturada en las imágenes de los testigos. Se debe ingresar un ID único para cada tramo en un recuadro de la barra lateral, que por simplicidad deben ser números correlativos. El rectángulo que enmarca el tramo se crea directamente haciendo click sobre la imagen.

 

2. Se identifica este mismo tramo en las imágenes del Televiewer, considerando su profundidad y extensión. Al momento de crear esta etiqueta se ingresó el mismo ID registrado en la etiqueta del testigo de sondaje, junto a la cantidad de fracturas encontradas en el tramo respectivo

 

3. Se extrae una imagen recortada delimitada por la misma etiqueta. Además, de calcular la frecuencia de fracturas del tramo, contabilizando las fracturas de las etiquetas de Televiewer y dividiéndolas por el largo del tramo según la etiqueta del testigo de sondaje, con motivo de expresar el valor de fracturas por unidad de distancia.

 

4. Finalmente se obtiene pares de datos que incluye una imagen del tramo de roca fracturada y su frecuencia de fracturas. Esta frecuencia de fracturas fue denominada Frecuencia de Fracturas Observada (FFObs).

 

Figura 3. Esquema de obtención de los pares de datos de los tramos
fracturados; imagen del tramo y frecuencia de fracturas observada asociada

 

PROCESAMIENTO DE DATOS

Una vez obtenida la Frecuencia de Fracturas Observada (F FObs) de un total de tramos de roca muy fracturada, se generó el histograma para conocer la distribución de los datos. Además se detalla el valor mínimo F FObs obtenido ,el  valor máximo y el valor promedio. Posterior a ello  se procesan las imágenes de los tramos de roca fracturada.

 

PROCESAMIENTO DE IMÁGENES

Para describir los tramos de roca fracturada en términos visuales, se deben reconocer y describir los fragmentos que lo componen. Para identificar cada uno de estos fragmentos a partir de la imagen del tramo, las imágenes pasaron por una serie de transformaciones utilizando la librería OpenCV en Python. A continuación, se entrega una breve descripción de cada uno de los pasos y transformaciones aplicadas a cada imagen:


1. Original: Imagen del tramo de roca fracturada sin procesar.
2. Denoising: Eliminación de ruido de imágenes utilizando el algoritmo de eliminación de ruido de medios no locales, o basado en el promedio de todos los píxeles en una imagen.
3. Escala de grises: Conversión de escala de colores RGB a escala de grises.
4. Median Blur: Desenfoque de la imagen, tomando la mediana de todos los píxeles debajo del área de un núcleo de píxeles. El elemento central se reemplaza con este valor mediano.
5. Black Hat: Transformación morfológica utilizada para realzar los objetos oscuros de interés en un fondo brillante.
6. Complemento: Convierte el valor de cada píxel por su complemento en escala de grises, es decir, colores más cercanos al blanco serán transformados en colores más cercanos al negro y viceversa.
7. Thresholding: Conversión de una imagen de múltiples canales para obtener una imagen de 2 niveles (binaria) en escala de grises.
8. Dilatación: Transformación morfológica que convoluciona la imagen con un núcleo de píxeles para expandir los colores de un tipo.
9. Encontrar contornos: Búsqueda de las curvas que unen todos los puntos continuos (a lo largo de un límite) que tienen el mismo color o intensidad, encerrando en un área respectiva cada uno.

 

En la Figura 4 se observa un ejemplo de todas las trasformaciones aplicadas sobre la imagen original y el resultado visual de cada una de ellas, hasta identificar cada uno de los fragmentos de roca, detectando su área y contornos.

 

Figura 4. Ejemplo de pasos y transformaciones aplicadas sobre una imagen de fragmentos
de roca, reconociendo el área y contorno de cada fragmento, utilizando la librería OpenCV en Python.

 

 

OBTENCIÓN DE PARÁMETROS ASOCIADOS A LOS FRAGMENTOS

Una vez el contorno de cada fragmento es detectado, se procede a calcular algunos parámetros para cada uno de estos fragmentos, tomando como consideración que el origen del sistema de referencia se considera en la esquina superior izquierda de la imagen, con la componente x recorriendo los píxeles de la imagen hacia la derecha y la componente y recorriendo los píxeles de la imagen hacia abajo.

 

Se calcula el centro de masa (xc, yc) para el contorno de cada fragmento, el cual está dado por el promedio de estos, es decir donde n es la cantidad de píxeles que conforman el contorno. Luego, la distancia o radio (ri) que es la distancia entre cada píxel del contorno y el centro de masas del fragmento.

Una vez se cuenta con los radios ri de los contornos del fragmento con respecto a su centro de masa, según la escala de la imagen, se obtuvieron los siguientes parámetros asociados a cada fragmento:


- Tamaño (D): Corresponde al doble del promedio de los radios ri
- Esfericidad (E): Corresponde a la razón entre el mínimo y máximo de los radios ri

 

Una vez calculadas las medidas de tendencia central y dispersión para el Tamaño, y el promedio de la Esfericidad, para la distribución total de los fragmentos. Por lo tanto, considerando que se reconocieron m fragmentos, los parámetros extraídos de la imagen de cada tramo fueron los siguientes:

 

- Tamaño promedio (Dprom): Corresponde al promedio de los tamaños Dj de cada fragmento del tramo.

- Tamaño mediana (Dmed): Corresponde a la mediana de los tamaños Dj de cada fragmento del tramo.

- Tamaño moda (Dmod): Corresponde a la moda de los tamaños Dj de cada fragmento del tramo.

- Tamaño máximo (Dmax): Corresponde al máximo de los tamaños Dj de cada fragmento del tramo.

- Tamaño mínimo (Dmin): Corresponde al mínimo de los tamaños Dj de cada fragmento del tramo.

- Tamaño rango (Drang): Corresponde a la resta entre el máximo y mínimo de los tamaños Dj de cada fragmento del tramo.

- Tamaño desviación estándar (Ddesv): Corresponde a la desviación estándar de los tamaños Dj de cada fragmento del tramo.

- Tamaño asimetría (Dasim): Corresponde al coeficiente de asimetría de Fisher-Pearson de los tamaños Dj de cada fragmento del tramo.

- Tamaño curtorsis (Dcurt): Corresponde al coeficiente de curtosis de Fisher de los tamaños Dj de cada fragmento del tramo.

- Esfericidad promedio(Eprom): Corresponde al promedio de los esfericidades Ej de cada fragmento del tramo.

 

Para estudiar la relación cualitativa entre estos parámetros y la Frecuencia de Fracturas Observada se realizan gráficos , los cuales se visualizan en la Figura 5. Además, se puede incluir el largo del tramo como otro parámetro a tener en cuenta para el análisis posterior.

 

Figura 5. Relación cualitativa entre la Frecuencia de Fracturas Observada
(eje y) y los parámetros asociados a la imagen de cada tramo de roca fracturada (eje x)

 


MODELOS DE MACHINE LEARNING

 

Para identificar posibles patrones y/o relaciones no evidentes a simple vista, entre los parámetros extraídos de las imágenes de tramos fracturados, con el valor de la Frecuencia de Fracturas Observada (FFObs) asociada, se utilizan modelos de Machine Learning, implementados con las librerías TensorFlow y Keras en Python.

 

En términos simples, estos modelos son capaces de encontrar la relación entre un vector de datos perteneciente al espacio Rn y un vector de resultados perteneciente al espacio Rm, en este caso, un conjunto de datos obtenidos para cada observación (los parámetros característicos de los fragmentos de roca) y una etiqueta asignada (la frecuencia de fracturas). La aproximación de la función que relaciona estos dos espacios se realiza mediante las denominadas redes neuronales. El modelo de neuronales emula el funcionamiento de las neuronas en el cerebro, son algoritmos de aprendizaje y modelos computacionales que aproximan funciones mediante la combinación ponderada de capas de neuronas.

 

En un modelo de Machine Learning, se distinguen tres capas principales: Capa de entrada recibe los datos de entrenamiento, segunda capa, conocida como capa oculta, procesa un vector de datos de entrada utilizando una función de activación y envía el resultado a la siguiente capa y capa de salida para generar un resultado en el espacio vectorial de las etiquetas.

 

Internamente, el modelo lleva los datos desde la capa de entrada hasta la de salida (forward-propagation) y evalúa la similitud entre los resultados y la etiqueta esperada. Una función de pérdida cuantifica esta discrepancia y, a través de un optimizador, ajusta los parámetros que influyen en cada neurona hacia atrás (back-propagation), hasta que los resultados se asemejan a lo esperado, ya sea mediante un umbral de precisión o un número determinado de iteraciones. En general, la precisión de un modelo es un indicador de su confiabilidad y se calcula como el porcentaje de predicciones correctas en relación con el total de predicciones realizadas.

 

Figura 6. Arquitectura de una red de Machine Learning

 

MODELO DE REGRESIÓN BÁSICA

El modelo implementado en este estudio fue basado en el ejemplo de Regresión Básica de la librería TensorFlow. El modelo implementado en este ejemplo es uno secuencial de dos capas ocultas conectadas, cuya dimensionalidad del espacio de salida es 64, y una capa final de salida que devuelve un único valor continuo. La función de activación de las capas ocultas es de tipo ReLu, es decir, retorna el elemento máximo entre 0 y el tensor de entrada.

 

Para compilar el modelo de este ejemplo se utiliza una función de pérdida: Error cuadrático medio (MSE, siglas de Mean Squared Error, en inglés) y un optimizador de tipo RMSprop, cuya esencia consiste en mantener un promedio móvil del cuadrado de los gradientes y dividir el gradiente por la raíz de este promedio (TensorFlow). Las modificaciones realizadas en el modelo de ejemplo de Tensorflow, con respecto al modelo implementado en este estudio fue el incluir una capa oculta extra, cuya dimensionalidad del espacio de salida también es de 64, además de modificar la función de activación de cada una de las capas ocultas, por unas de tipo Sigmoid, que está definida por la fórmula: P(t) = 1/(1+e-t)

 

Las variables de entrada utilizadas para entrenar este modelo corresponden a cada uno de los parámetros de los fragmentos, asociados a cada tramo de roca fracturada, sumado al largo del tramo, y su etiqueta a Frecuencia de Fracturas Observada. Cada una de las variables de entrada fue estandarizada y normalizada mediante un proceso de encoding, y el método utilizado para entrenar y evaluar el modelo corresponde al de Validación cruzada de 10 iteraciones.

 

VALIDACIÓN CRUZADA DE 10 ITERACIONES

En la implementación de modelos de Machine Learning, se utiliza una técnica llamada Validación Cruzada para evaluar la precisión y desempeño del modelo. Esto se hace dividiendo los datos en dos grupos: Datos de Entrenamiento (usados para entrenar el modelo) y Datos de Prueba (usados para evaluar el modelo). La Validación Cruzada de k iteraciones implica dividir los datos en k subconjuntos y repetir el proceso de entrenamiento y evaluación k veces.

 

En este estudio, se realizaron 10 particiones e iteraciones. En cada iteración, el 90% de los datos se usaron para entrenar el modelo, y el 10% restante se usó para evaluarlo. Se compararon las predicciones del modelo con los datos observados y se calculó un coeficiente de determinación ajustado (Rα2) en cada iteración. La precisión general del modelo se determinó como el promedio de los coeficientes Rα2 obtenidos en todas las iteraciones.

 

FIgura 7. Esquema de Validación cruzada de 10 iteraciones

 

El error asociado a la predicción (Error Frecuencia de Fracturas o FFerror) de cada dato se calcula como la resta entre el valor observado y el predicho, dividido por el rango posible de frecuencia de fracturas (máximo menos mínimo, es decir, 40 fracturas/m en este caso)y expresado en porcentaje, de la siguiente forma: FFerror = (FFobs - FFPred) / (40 fracturas / m) * 100% . mientras su valor absoluto se expresa simplemente como |FFerror|. Luego, los gráficos generados para analizar los resultados fueron los siguientes:


- Frecuencia de Fracturas Predicha versus Frecuencia de Fracturas Observada para la mejor, peor y totalidad de iteraciones.
- Error Frecuencia de Fracturas versus Frecuencia de Fracturas Observada para la mejor, peor y totalidad de iteraciones.

 

Los gráficos de valores predichos versus observados permiten evidenciar si son similares entre sí y se acercan a una recta de pendiente 1 que pasa por el origen, mientras los gráficos de error permiten reconocer si existe una correlación de aumento o disminución de este mismo con respecto a otra variable, así como la posible existencia de valores atípicos.

 

Figura 8. Gráfica de Frecuencia de Fracturas Predicha versus Frecuencia de Fracturas (izq),
Gráfica de Error Frecuencia de Fracturas versus Frecuencia de Fracturas Observada (der)

 

Por otro lado, los parámetros estadísticos más importantes a considerar fueron los siguientes:


Promedio de Error Frecuencia de Fracturas (FFerrorprom ), para la mejor, peor y totalidad de iteraciones.
- Promedio de valor absoluto de Error Frecuencia de Fracturas (|FFerror| prom), para la mejor, peor y totalidad de iteraciones. 
- Máximo de valor absoluto de Error Frecuencia de Fracturas (|FFerror| max), para la mejor, peor y totalidad de iteraciones.
- Coeficiente de determinación ajustado (Rαa ) entre Frecuencia de Fracturas Predicha y Frecuencia de Fracturas Observada, para la mejor, peor y total de iteraciones.

 

Los promedios de errores permiten saber si estos se concentran positiva o negativamente, es decir si existe en general una sobrestimación o subestimación de los resultados por parte de la predicción del modelo. Los promedios de valores absolutos de errores permiten tener una idea de qué tanto difieren los resultados entregados por el modelo, en relación con los datos observados, mientras que el máximo indica la cota de este mismo. El coeficiente de determinación ajustado es el parámetro principal para medir la calidad del modelo propuesto y probar y validar la hipótesis del estudio.

 

Figura 9.  Relación cualitativa entre el Error Frecuencia de Fracturas (eje y) y
los parámetros asociados a la imagen de cada tramo de roca fracturada (eje x).

 


CONCLUSIONES Y RECOMENDACIONES

 

- Los modelos de Machine Learning permiten estimar con un 65-68 % de precisión la frecuencia de fracturas equivalente en tramos de roca muy fracturada. Los mayores errores se correlacionan con los rangos donde hay menor cantidad de datos, y por lo tanto, el método propuesto permite estimar la frecuencia de fracturas con mayor precisión en los rangos donde el modelo ha sido entrenado con mayor enriquecimiento de estos mismos.

 

- Se recomienda capturar y utilizar fotografías de alta calidad, donde los bordes de las imágenes deben ser paralelas con los bordes de las cajas de testigos, contar con buena iluminación y ser de alta resolución.

 

- Se recomienda llevar a cabo un estudio adicional para enriquecer el modelo de Machine Learning. Este se centraría en estimar la frecuencia de fracturas, ampliando la base de datos en áreas con poca información. Además, se sugiere incluir más detalles geológicos y mecánicos, así como considerar diferentes contextos geotectónicos.

 


BIBLIOGRAFÍA


- Frontiers | Prediction of fracture density in a gas reservoir using robust computational approaches (frontiersin.org)
- Novel hybrid machine learning optimizer algorithms to prediction of fracture density by petrophysical data (springer.com)
- Estimacion-de-la-orientacion-y-frecuencia-de-fracturas-en-sondajes-a-partir-de-analisis-de.pdf
- pdf-manual-del-logueo-geomecanico-y-registro-de-estructuras-en-testigos-orientados-de-perforacion_compress.pdf
- Microsoft Word - sondajes geotecnicos (u-cursos.cl)
- 5141938-2019-1-IP.pdf (uamerica.edu.co)

 

Comentarios

Registrate o Inicia Sesión para comentar y obtener Cursos de pago gratis

function loadurl(){ var val1 = document.getElementById("valor3").value; console.log(val1); if(val1){ window.location = "/comunidad/blog/filtrar/"+val1+"/"} }