Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón
Abstract
[ANGLÈS] In this Project we present a method to get the orientation and the total amount of Steel fibers embedded in the concrete specimens. The proposed method resembles to Computed Tomography, with the goal of reconstruct a specimen in 3D from sections using image processing techniques.
Full text
PROJECTE FINAL DE CARRERA PROCESADO DE IMAGEN DE SECCIONES APLICADO A LA RECONSTRUCCIÓN DE FIBRAS EMBEBIDAS EN PROBETA DE HORMIGÓN Estudis: Enginyeria de Telecomunicació Autor: Marc Castelló Juanico Director/a: Josep M. Torrents Any: 2015
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 1 Índice general Índice general ........................................................................................................ 1 Índice de figuras ..................................................................................................... 3 Colaboraciones ...................................................................................................... 6 Agradecimientos .................................................................................................... 7 Resum del Projecte ................................................................................................ 8 Resumen del Proyecto ........................................................................................... 9 Abstract ................................................................................................................ 10 1. Introducción................................................................................................. 11 1.1 Contexto del proyecto ................................................................................. 11 1.2 Objetivos .................................................................................................. 12 1.3 Estructura de la memoria .......................................................................... 13 2. Métodos normalizados ................................................................................ 15 2.1 Tomografía computarizada ...................................................................... 15 2.2 Machaque y conteo de fibras ................................................................... 19 2.3 Métodos inductivos .................................................................................... 19 3. Análisis teórico ............................................................................................ 22 3.1 Dosificación teórica del hormigón ............................................................ 22 3.1.1 Dosificación a partir del método de inducción magnética .................. 24 3.2 Medidas de las secciones ........................................................................ 25 3.3 Tratamiento de las imágenes ................................................................... 28 3.3.1 Obtención de las imágenes ............................................................... 28 3.3.2 Procesamiento de las imágenes ....................................................... 29 4 Fases del proceso .......................................................................................... 35 4.1 Descripción general ................................................................................. 35 4.2 Corte de la probeta .................................................................................. 36 4.3 Toma de imágenes .................................................................................. 38 4.3.1 Montaje ............................................................................................. 38 4.3.2 Corrección de perspectiva ................................................................. 39 4.4 Procesado de las imágenes ..................................................................... 40
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 2 4.4.1 Función de detección de puntos ........................................................ 40 4.4.2 Determinación de los ángulos ........................................................... 41 4.4.3 GUI para la detección de puntos ....................................................... 43 4.5 Determinación de las fibras ..................................................................... 44 4.5.1 Comparación entre ángulos .............................................................. 44 4.5.2 Proximidad en la proyección ............................................................. 46 4.5.3 Determinación de puntos candidatos ................................................ 50 4.5.4 Fase de verificación .......................................................................... 53 4.6 Reconstrucción tridimensional ................................................................. 57 4.6.1 Regresión lineal ................................................................................. 58 4.6.2 Proyección ........................................................................................ 60 5 Resultados ..................................................................................................... 65 5.1 Resultados de la detección de puntos ..................................................... 65 5.2 Resultados de la detección de fibras ....................................................... 75 5.3 Análisis de la orientación ......................................................................... 77 6 Conclusiones .................................................................................................. 79 7 Anexo ............................................................................................................. 81 A. Medidas realizadas .................................................................................. 81 B. Funciones utilizadas de MATLAB ............................................................ 82 C. Código de MATLAB ................................................................................. 86 D. Tabla de orientación de las fibras .......................................................... 101 E. Imágenes ............................................................................................... 104 8 Bibliografía ................................................................................................... 114
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 3 Índice de figuras Figura 1: Tomografía Computarizada en el ámbito médico. Sistema de detectores de rayos X dispuestos en 360º. ................................................................................ 16 Figura 2: Tomografía Computarizada aplicada al análisis de hormigón. (a) Histograma esférico de la orientación más frecuente de las fibras (rojo: alto, azul: bajo) (b) Vista de la reconstrucción de la probeta siguiendo la dirección de aplicación. Los distintos colores de las fibras indican su orientación. (c) Vista de la reconstrucción desde la base de la probeta cilíndrica. ............................................. 17 Figura 3: Reconstrucción de una probeta de hormigón mediante el software Avizo Fire. ................................................................................................................ 18 Figura 4: Campo magnético creado por un solenoide clásico. ............................ 20 Figura 5: Detector con núcleo de ferrita en forma de U. ..................................... 20 Figura 6: Detector de inductancia con software integrado. Compuesto por una bobina plana, un microcontrolador y salida USB. ..................................................... 21 Figura 7: Esquema de las medidas de las fibras de acero utilizadas en la probeta de hormigón. ............................................................................................................ 22 Figura 8: (a) Distinción de las mitades de la probeta con las letras A o B. (b) Etiquetación de las secciones a través de numeración. ........................................... 25 Figura 9: Medidas de ancho y largo de la sección. ............................................. 26 Figura 10: Esquema de las medidas del grosor de la sección y espaciado entre secciones. ................................................................................................................ 27 Figura 11: Esquema de las medidas a través de los ejes de coordenadas en tres dimensiones. ............................................................................................................ 27 Figura 12: Resolución de 50 x 50 pixeles por milímetro cuadrado. ..................... 28 Figura 13: Elemento estructural con forma de disco de radio 3. ......................... 31 Figura 14: Esquema de una fibra perpendicular al plano XY con una sección recta circular dentro del plano. ................................................................................. 32 Figura 15: Proyección de una fibra en tres dimensiones con los ángulos que la caracterizan. ............................................................................................................. 33 Figura 16: Probeta cortada en secciones. ........................................................... 36 Figura 17: Resultado de la etiquetación de las secciones en la probeta cortada. ................................................................................................................................. 37 Figura 18: Disposición de los elementos del proceso de toma de imágenes de las secciones. Cámara fotográfica con foco de luz natural. ........................................... 38 Figura 19: Imagen de una de las secciones de la pobeta tomada con la cámara. ................................................................................................................................. 39 Figura 20: Imagen resultante de la sección después de aplicarle la corrección de perspectiva. .............................................................................................................. 39 Figura 21: Imagen con corrección de perspectiva antes de ser procesada. ....... 41
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 4 Figura 22: Imagen binaria obtenida después de aplicar la función de detección. 41 Figura 23: Esquema de una posible estructura de las variables definidas para almacenar los ángulos. ............................................................................................ 43 Figura 24: Interfaz gráfica de usuario para la detección de secciones rectas de fibras. ....................................................................................................................... 43 Figura 25: Condición entre ángulos para determinar su semejanza a partir de un valor fijado de tolerancia. ......................................................................................... 45 Figura 26: Ejemplo de la proyección del punto fijo de la sección 1A a 2A. ......... 47 Figura 27: Zona de posibles candidatos por proximidad en la proyección del punto fijo en la sección 2A. ...................................................................................... 47 Figura 28: Diagrama de bloques del proceso de determinación de candidatos. Comparación de las dos metodologías utilizadas para la determinación de puntos candidatos a fibra. .................................................................................................... 50 Figura 29: Ejemplo del proceso de verificación entre tres secciones. Condición de validación definida a partir del ejemplo y extrapolable a cualquiera de las secciones. ................................................................................................................................. 54 Figura 30: Diagrama de bloques del proceso de verificación de los posibles puntos candidatos encontrados. .............................................................................. 55 Figura 31: Cilindro generado con MATLAB y su orientación en función de los ejes de coordenadas. ...................................................................................................... 57 Figura 32: Reconstrucción tridimensional de la probeta utilizando la regresión lineal. ........................................................................................................................ 60 Figura 33: Reconstrucción tridimensional de la probeta a partir de la proyección de las fibras. ............................................................................................................. 63 Figura 34: Gráfica de la distribución de puntos detectados en la mitad A........... 66 Figura 35: Gráfica de la distribución de puntos detectados en la mitad B........... 67 Figura 36: Gráfica del área de las secciones de la mitad A. ............................... 67 Figura 37: Gráfica del área de las secciones de la mitad B. ............................... 68 Figura 38: Gráfica de la relación entre el Área y los puntos detectados con su recta de regresión. ................................................................................................... 68 Figura 39: Representación 3D de todos los puntos detectados en función de la sección a la cual pertenecen. ................................................................................... 69 Figura 40: Histograma de los intervalos del ángulo de la mitad A. ................... 71 Figura 41: Histograma de los intervalos del ángulo de la mitad A. ................... 71 Figura 42: Histograma de los intervalos del ángulo de la mitad B. ................... 72 Figura 43: Histograma de los intervalos del ángulo de la mitad B. ................... 73 Figura 44: Histograma de los intervalos del ángulo en la totalidad de la probeta. ................................................................................................................................. 73 Figura 45: Histograma de los intervalos del ángulo en la totalidad de la probeta. ................................................................................................................................. 74 Figura 46: Vista cenital de la probeta, con las marcas de los ángulos utilizados en el método de la inducción magnética. ...................................................................... 76
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 5
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 6 Colaboraciones Departament d’Enginyeria Electrònica (Universitat Politècnica de Catalunya) Electronic and Biomedical Instrumentation Group. IEB (Universitat Politècnica de Catalunya) Laboratori de Tecnologia d’Estructures. Departamente d’Enginyeria de la Construcció (Universitat Politècnica de Catalunya)
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 7 Agradecimientos En primer lugar, me gustaría agradecer a Josep Maria por todo el apoyo y los consejos recibidos durante la ejecución de este proyecto. Ha sido un placer poder trabajar en este proyecto. También agradezco a Ceferino Robledo por su disposición y ayuda en la realización de las fotografías de las secciones. Las fotografías han sido una pieza fundamental para el desarrollo del proyecto, y sin su ayuda este proyecto quizás no se hubiera llegado a terminar. A mis padres y hermana por apoyarme en todo momento. Por la confianza depositada en mí y por darme fuerzas en este largo trayecto. Y especialmente quiero agradecer a Anna todo el apoyo y motivación que me has aportado. Estando en todo momento a mi lado, dándome fuerzas y ayudándome.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 14 En el cuarto capítulo se exponen los resultados obtenidos de las distintas fases del proceso y se analizan contrastándolos con los conceptos teóricos y esperados expuestos en el segundo capítulo. Después del cuarto capítulo se encuentran las conclusiones, donde se resumen los logros alcanzados y se detalla una posible línea futura a partir de este proyecto. Los anexos se encuentran al final de la memoria, conteniendo información útil que no ha sido presentada en los capítulos. Como gran parte del código, debido a su extensión, imágenes de interés y algunas tablas relacionadas con los resultados finales de cada una de las fibras detectadas.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 15 2. Métodos normalizados A continuación se muestran algunos de los métodos existentes y normalizados en determinar el contenido de fibras en el hormigón. 2.1 Tomografía computarizada La tomografía computarizada (TC) se utiliza sobretodo en el ámbito médico. El término TC hace referencia a un procedimiento de computación de imágenes obtenidas mediante la proyección de un haz muy estrecho de rayos X a un paciente y a su correspondiente rotación alrededor de su cuerpo. El haz de rayos X es detectado por varios detectores situados alrededor del cuerpo del paciente. En cada uno de estos detectores de rayos X, se reciben unas señales que pueden ser procesadas obteniendo así imágenes transversales o “cortes” del cuerpo. Estos cortes se llaman imágenes tomográficas y contienen información más detallada que los rayos X convencionales. Este proceso de toma de imágenes transversales se hace por cada detector de rayos en una posición distinta, figura 1. De manera que una vez obtenidas todas las imágenes que recorren la totalidad del cuerpo se pueden agrupar digitalmente para formar una imagen tridimensional. Esta imagen tridimensional del cuerpo del paciente se utiliza para facilitar la identificación o ubicación de las estructuras básicas, así como de posibles tumores o anomalías que afecten al cuerpo.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 16 Figura 1: Tomografía Computarizada en el ámbito médico. Sistema de detectores de rayos X dispuestos en 360º. En los últimos años, la introducción y el rápido incremento del uso de la TC en el ámbito de las ciencias de materiales, en particular en pruebas no destructivas, ha abierto muchas posibilidades de cara al análisis de características propias de materiales de construcción. Es así como se puede aplicar la TC al estudio y análisis del hormigón reforzado con fibras de acero. Se puede obtener una imagen tridimensional del hormigón con las fibras de acero visibles; y con herramientas de software y procesado de imagen es posible detectar la orientación de las fibras. La gran ventaja que tiene este método es que es posible detectar la posición exacta de las fibras así como su orientación. Hasta el momento es el único método que permite obtener una caracterización de la orientación de las fibras muy próxima a la real. Mediante el software que se utiliza en el proceso de obtención de las imágenes y a su debido procesamiento, es posible almacenar gran cantidad de datos referentes a las fibras, facilitando así las medidas que se deseen realizar posteriormente. La gran desventaja que presenta este método es que es muy caro debido al equipamiento que necesita. Los equipos que utilizan la TC son equipos médicos que se destinan exclusivamente al análisis de patologías en las personas. Es necesario
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 17 entonces un equipo de TC que se destine únicamente al análisis de materiales de construcción como el hormigón. En algunos laboratorios especializados en materiales de construcción disponen de los equipos para realizar TC. Evidentemente, el presupuesto para realizar unas mediciones en alguno de estos laboratorios es bastante elevado. Las dimensiones de la cavidad, donde se encuentra el espécimen a analizar, en equipos especializados en TC son más pequeñas que las dimensiones propias de las probetas de hormigón, lo cual hace que se tenga que modificar la probeta cortándola para que pueda caber correctamente en la cavidad. Figura 2: Tomografía Computarizada aplicada al análisis de hormigón. (a) Histograma esférico de la orientación más frecuente de las fibras (rojo: alto, azul: bajo) (b) Vista de la reconstrucción de la probeta siguiendo la dirección de aplicación. Los distintos colores de las fibras indican su orientación. (c) Vista de la reconstrucción desde la base de la probeta cilíndrica. En la figura 2, se puede apreciar la reconstrucción de la probeta en tres dimensiones. El objetivo del presente proyecto es el mismo que el que ofrece este método pero utilizando otros medios, ya que se busca una alternativa a la TC por su elevado coste y limitación de dimensiones de las muestras. Como se verá más adelante, la determinación de la orientación viene determinada por dos ángulos, que son exactamente los mismos ángulos que utiliza el método de la TC, figura 2 (a). A partir de estos ángulos se determina la orientación, con lo cual a través de un código de colores en función de la orientación delimitada por los dos
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 18 ángulos, se puede tener una reconstrucción tridimensional de la probeta con todas las fibras clasificadas por intervalos de orientación, figura 2 (b) y (c). Avizo Fire es un potente software de análisis en 3D utilizado en campos científicos e industriales. Con este software se puede modelar la reconstrucción 3D de una probeta de hormigón, analizando detalladamente los datos de cada una de las fibras. En la figura 3 se puede ver una captura del resultado de aplicar este software en la reconstrucción de una probeta de hormigón reforzado con fibras. Figura 3: Reconstrucción de una probeta de hormigón mediante el software Avizo Fire. El departamento de Ingeniería civil de la Universidad de Burgos dispone del equipamiento necesario para realizar la TC. La medida máxima que puede tener la probeta a analizar es de 15 cm de altura y 8 cm de diámetro y el precio de la prueba es cercano a los 500 €. La prueba incluye la tomografía, el análisis de la imagen y un informe de los resultados. Las probetas con las que se trabajan normalmente tienen un diámetro de 15 cm, mayor que el que se permite para la realización de esta prueba. Por lo que es necesario modificar la probeta cortándola para que se pueda realizar la tomografía.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 19 2.2 Machaque y conteo de fibras Un método para el conteo de fibras es el denominado machaque. Este método se realiza sobre el hormigón endurecido y se basa en machacar la probeta de hormigón para posteriormente extraer las fibras con imanes. No es un método muy exacto ya que en la extracción de las fibras, el riesgo de pérdida o deterioro de algunas fibras es muy elevado, es por eso que normalmente se consiguen resultados por debajo de lo real. Existe otro método denominado lavado, con el mismo objetivo de contabilizar las fibras pero se realiza sobre el hormigón fresco. Este método consiste en lavar el hormigón fresco y extraer las fibras mediante imanes también. Una vez extraídas las fibras, se dejan secar y se pesan para así obtener su dosificación. 2.3 Métodos inductivos Estos métodos se basan en la aplicación de las leyes del magnetismo de Faraday y Ampère. La inducción viene determinada por la geometría de la pieza y la permeabilidad magnética efectiva del medio dependiente de la temperatura. A continuación se describen brevemente los distintos métodos inductivos: - Solenoide Clásico: Consiste en una bobina conectada a una fuente de corriente, creando un campo magnético.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 20 Figura 4: Campo magnético creado por un solenoide clásico. Este método es válido para detectar el número de fibras, ya que a través del aumento de la inductancia en la bobina se puede obtener el número de fibras. Aunque es muy sensible y por lo tanto no se puede considerar muy fiable. No aporta nada sobre la posible orientación de las fibras. - Detectores con núcleo de ferrita Con este método es posible conocer la densidad de fibras y su orientación, a través del uso de un núcleo de ferrita bobinado. La impedancia varia por la presencia de las fibras, que hacen que el flujo existente entre el núcleo bobinado vaya variando en función de la posición de las fibras. Figura 5: Detector con núcleo de ferrita en forma de U.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 21 Cuando los ejes magnéticos de la bobina coinciden con la dirección media de las fibras, entonces se obtiene un máximo en la inductancia medida. De esta forma es posible encontrar la posición en la que se detecta la inductancia máxima y determinar la orientación media de las fibras. - Detectores de inductancia con software integrado. Este tipo de detectores se componen de una bobina plana, un microcontrolador y una interfaz USB. La ventaja de estos detectores reside en el software que integran y la capacidad de procesar los datos. Figura 6: Detector de inductancia con software integrado. Compuesto por una bobina plana, un microcontrolador y salida USB. La bobina plana se modela como una bobina, un condensador y una resistencia variable en paralelo. A partir de la variación de la resistencia en paralelo se detecta la distancia al metal a medir.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 22 3. Análisis teórico 3.1 Dosificación teórica del hormigón La probeta que se analiza es de hormigón autocompactante con medidas de 15 x 15 cm y una dosificación teórica con 45 kg/m3 de fibras. Las fibras embebidas en la probeta tienen 1 mm de diámetro y 50 mm de longitud, figura 7. Figura 7: Esquema de las medidas de las fibras de acero utilizadas en la probeta de hormigón. A partir de estos valores se puede encontrar el número total teórico de fibras que contiene una probeta. Calculando el volumen total de la probeta a partir de sus medidas a partir de su diámetro dp y su altura hp: 𝑉𝑝𝑟𝑜𝑏𝑒𝑡𝑎 = 𝜋 (𝑑𝑝 2)2ℎ𝑝 También se puede calcular el volumen de una sola fibra, partiendo de sus medidas, diámetro df y longitud lf: 𝑉𝑓𝑖𝑏𝑟𝑎 = 𝜋 (𝑑𝑓 2)2𝑙𝑓
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 23 A partir de la dosificación D y el volumen de la probeta se calcula le peso total de las fibras contenidas en la probeta. 𝑊𝑓=𝐷∙𝑉𝑝𝑟𝑜𝑏𝑒𝑡𝑎 El peso de las fibras se calcula también a partir del volumen de una única fibra multiplicado por el número total de fibras N y la densidad del acero 𝑊𝑓=𝜌∙𝑁∙𝑉𝑓𝑖𝑏𝑟𝑎 Combinando las ecuaciones que determinan el peso total de las fibras se puede determinar el número total de fibras: 𝑁 =𝑉𝑝𝑟𝑜𝑏𝑒𝑡𝑎 ∙𝐷 𝜌 ∙ 𝑉𝑓𝑖𝑏𝑟𝑎 Calculando con los siguientes valores: 𝑑𝑝=15 𝑐𝑚 ℎ𝑝=15 𝑐𝑚 𝑑𝑓=1 𝑚𝑚 𝑙𝑓=50 𝑚𝑚 𝐷 =45 𝑘𝑔/𝑚3 𝜌=7,8 𝑘𝑔/𝑚3 Se obtiene que el número total de fibras teórico es de 389 fibras.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 30 La detección de los puntos (secciones elípticas) se realiza tomando cada una de las imágenes por separado con la perspectiva ajustada y con iluminación uniforme a lo largo de toda la sección. El primer paso es cargar todas las imágenes en variables matriciales para facilitar su manejo. Como las imágenes son en color, se tienen que convertir a escala de grises para posteriormente convertirlas en imágenes binarias. La idea principal es oscurecer el fondo y que las secciones rectas de las fibras queden blancas. Como la iluminación es muy difícil que sea totalmente uniforme a lo largo de toda la sección, puede haber zonas más iluminadas que otras, por lo tanto se tiene que corregir ese contraste con técnicas propias del procesamiento de imágenes. Para corregir la iluminación no uniforme, el primer paso es identificar el fondo. Para ello se estima el fondo mediante la apertura morfológica. La apertura morfológica de A sobre B, representada como 𝐴 ∘ 𝐵, es simplemente la erosión de A sobre B seguida de la dilatación del resultado de B. 𝐴 ∘ 𝐵 = (𝐴 ⊖ 𝐵) ⊕ 𝐵 Otra formulación alternativa de la apertura es: 𝐴 ∘ 𝐵 = ∪ {(𝐵)z|(𝐵)z ⊆ 𝐴} Donde ∪ {∙} es la unión de todos los conjuntos que están dentro del paréntesis. Y la notación 𝐶 ⊆ 𝐷 quiere decir que C es un subconjunto de D. Esta formulación tiene una interpretación geométrica: 𝐴 ∘ 𝐵 es la unión de todas las translaciones de B que se ajustan dentro de A 3 . La identificación del fondo se hace a través de la función de MATLAB imopen; la sintaxis de esta función es la siguiente: IM2 = imopen(IM,SE) 3 R.C. Gonzalez and R.E. Woods, Digital image processing using MATLAB, Upper Saddle River: Prentice Hall, cop. 2004, pp 500-504.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 31 Donde a partir de una imagen IM, se hace la apertura morfológica que se almacena en la imagen IM2. La variable SE hace referencia al elemento estructurante. El elemento estructurante se define a través de otra función, en este caso: SE = strel(shape, parameters) shape indica que forma seguirá el elemento estructurante. Este campo puede tomar los siguientes valores: Shape: ‘arbitrary’ ‘pair’ ‘diamond’ ‘periodicline’ ‘disk’ ‘rectangle’ ‘line’ ‘square’ ‘octagon’ Tabla 2: Posibles formas que puede tener el elemento estructurante En este caso se trabaja con elementos estructurantes en forma de disco, por lo que en el campo de parameters se especificará el radio del disco. Figura 13: Elemento estructural con forma de disco de radio 3. El radio está relacionado con el tamaño de las secciones elípticas de las fibras. Si se escoge un radio mayor que el de las elipses, las secciones no se muestran. Si se escoge un radio muy pequeño en comparación al tamaño de la elipse, cabe la posibilidad de que pequeñas agrupaciones de pixeles debidas a la iluminación nouniforme, que afecta al fondo, se muestren después de realizar la apertura morfológica. Para calcular el radio óptimo se considera el caso de menor área que puede producirse. Este caso corresponde con una fibra perpendicular a la sección cortada, ya que la sección recta de la fibra corresponde con un círculo de radio igual al de la
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 32 fibra, como se muestra en la figura 14. Entonces, el radio de la función es del orden del de la sección recta de la fibra en el plano cortado. Como las fibras tienen 1 mm de diámetro, el radio escogido es de 0.5 mm. Figura 14: Esquema de una fibra perpendicular al plano XY con una sección recta circular dentro del plano. Estimado el fondo, se tiene que ajustar la imagen para que el ruido proveniente del fondo no afecte a la detección, esto se realiza con la función imadjust. Una vez completado este paso, se procede a la conversión de la imagen de escala de grises a imagen binaria. Para obtener una imagen binaria se utiliza la función im2bw, donde se especifica un valor umbral. En este caso el umbral escogido es un valor muy alto ya que las secciones rectas de las fibras toman valores cercanos al blanco. Después de la conversión con un valor umbral adecuado, se obtiene una imagen binaria en la que el fondo queda completamente negro y las secciones rectas de las fibras quedan blancas. Para cuantificar los elementos de la imagen binaria, se utiliza la función de MATLAB bwconncomp que encuentra todos los componentes conectados en una imagen binaria. Esta misma función ya nos proporciona el número total de puntos detectados.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 33 Detectados los puntos, se necesitan conocer dos ángulos que son de gran utilidad para la realización de la imagen en tres dimensiones. Estos ángulos son los siguientes, figura 15. Figura 15: Proyección de una fibra en tres dimensiones con los ángulos que la caracterizan. es el ángulo definido como out-of-plane (fuera de plano) y el ángulo como in-plane (dentro del plano x-y). El ángulo , es el más fácil de encontrar a nivel visual, ya que corresponde con la orientación de la elipse en el plano x-y. Esta orientación se puede encontrar mediante una función de MATLAB de procesado de imagen que da las propiedades de una región detectada. El ángulo es más complicado de encontrar, ya que sigue esta relación: Donde “a” y “b” corresponden a la longitud del eje menor y eje mayor respectivamente de la elipse. Para obtener estas longitudes se utiliza la función regionprops que proporciona mucha información sobre una determinada región. En este caso, esta función facilita la longitud de ambos ejes con lo cual la tarea se simplifica. Entonces, para obtener el ángulo fuera de plano únicamente se tiene que seguir la ecuación anterior 4 . 4 Özyurt, N., Woo, L.Y., Mason, T.O., Shah, S.P., “Monitoring Fiber Dispersion in FRCs: Comparison of AC-Impedance Spectroscopy and Image Analysis”, ACI Materials Journal, V. 103, No. 5, pp. 340-347, September-October 2006
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 34 Cuando se obtienen estos dos ángulos se puede encontrar su proyección en tres dimensiones, de la siguiente manera: 𝑝𝑥 = sin 𝜃 cos 𝜙 𝑝𝑦 = sin𝜃 sin 𝜙 𝑝𝑧 = cos 𝜃 Esto sirve para la posterior representación en tres dimensiones de la probeta de hormigón con las fibras embebidas. Como cada punto detectado tiene asociados dos ángulos, la mejor forma de almacenar todas las variables es creando un vector de structs. Donde el vector está formado por cada uno de los puntos detectados. Y a su vez, cada punto detectado contiene los dos ángulos mencionados. El orden de los índices de los vectores es muy importante ya que cada posición está ocupada por un punto detectado. Esto significa que para el tratamiento y manejo de los vectores no se puede usar el método de vectorización. La vectorización es un método que permite simplificar el número de operaciones e iteraciones cuando se trabaja con vectores o matrices, si el orden de estos no tiene gran relevancia. En este caso, el orden es primordial para operar con este tipo de vectores. Por lo tanto, se utilizan estructuras iterativas del tipo for, que si bien no son muy eficientes debido al elevado número de operaciones, son capaces de mantener el orden intacto.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 35 4 Fases del proceso 4.1 Descripción general La reconstrucción tridimensional de la probeta de hormigón reforzado con fibras se lleva a cabo a través de un procedimiento de medida que abarca varias fases. Se parte de una probeta de hormigón cilíndrica de dimensiones 15 cm x 15 cm. El primer paso es cortar la probeta para después tomar imágenes de cada una de las secciones. Estas imágenes se procesan posteriormente mediante MATLAB, donde se detectan las secciones rectas de las fibras en cada corte. Mediante algoritmos de estimación y detección se conectan las secciones rectas de distintos cortes en fibras. Una vez determinadas las fibras, se representan tridimensionalmente sobre un modelo cilíndrico generado con MATLAB de las mismas dimensiones que la probeta con la que se trabaja. A través de este modelo en 3D se puede obtener información acerca de la cuantía de las fibras, su posicionamiento y su orientación. Se pretende realizar una reconstrucción en 3D igual que el método de la TC. El método presentado es muy parecido al de la TC pero con menos información y datos. Esto constituye una dificultad, ya que la falta de información hace que algunos datos necesiten de extrapolación o el uso de aproximaciones distintas a las que el método de la TC propone. El sistema de adquisición de los datos a procesar es a partir de imágenes como en el método de la TC. En el caso que se presenta, las imágenes son muy limitadas en comparación con las imágenes generadas por la TC. La detección de la orientación en ambos métodos se obtiene a partir de dos ángulos que definen la dirección y orientación en las tres dimensiones. En el capítulo de “Procesado de las imágenes” se explica detalladamente el papel de estos ángulos así como su importancia en la determinación de la orientación.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 36 4.2 Corte de la probeta El corte se realizó en el laboratorio de estructuras de l’Escola Tècnica Superior d’Enginyers de Camins, Canals i Ports de Barcelona. El personal autorizado del laboratorio se encargó de cortar el hormigón debido al cumplimiento de las normas de seguridad. El grosor de la hoja de la sierra utilizada es de 4 mm aproximadamente, con lo cual se obtuvo una distancia entre caras contiguas de diferentes secciones del orden del grosor de la hoja. Figura 16: Probeta cortada en secciones. Una vez obtenidos todos los cortes se etiquetó cada sección, figura 17.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 37 Figura 17: Resultado de la etiquetación de las secciones en la probeta cortada. Etiquetar cada una de las secciones de ambas caras es muy importante, ya que esto facilita la notación en la definición de variables y funciones en la fase de creación del código. Después de tener toda la probeta cortada en secciones, se midió cada uno de los cortes. Para realizar las medidas se utilizó un calibrador digital de resolución 0.01 m, con ámbito de medición hasta 150 mm. Esto significa que el rango de medida llega hasta 152,64 mm, por lo tanto se realizaron las medidas correctamente ya que la probeta no excedía de los 150 mm. Las medidas realizadas, como se determinaron en el capítulo 3.2, son las siguientes: Largo, Ancho, Grosor y los espacios entre secciones que son debidos al efecto de corte de la hoja de la sierra. En el anexo A se pueden consultar todas las medidas realizadas.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 38 4.3 Toma de imágenes 4.3.1 Montaje La toma de las imágenes se realizó con una cámara fotográfica de 12 Mpíxels de resolución. Para obtener una buena iluminación se utilizó un foco de luz natural. El ángulo entre la pieza de hormigón a analizar y la cámara era de unos 60º-65º aproximadamente. Para estabilizar la posición de la pieza de hormigón se utilizó una estructura en la base de cada pieza fotografiada. En la figura 18 se puede apreciar el montaje para la obtención de las imágenes. Figura 18: Disposición de los elementos del proceso de toma de imágenes de las secciones. Cámara fotográfica con foco de luz natural. Cada pieza de hormigón se fotografió por ambas cara excepto el primer y último corte, ya que únicamente tenían una cara hábil.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 39 4.3.2 Corrección de perspectiva Después de la obtención de las fotografías de todas las caras, éstas se modificaron ajustando correctamente la perspectiva de cada uno de los cortes. Para corregir la perspectiva se utilizaron las medidas realizadas después de la fase del corte. La anchura y la longitud fueron las medidas que se usaron para corregir la perspectiva en el plano de dos dimensiones. En la figura 19 se puede ver la imagen obtenida directamente de la cámara sin aplicarle ningún tipo de corrección. La misma sección pero con la corrección de perspectiva puede verse en la figura 20. Figura 19: Imagen de una de las secciones de la pobeta tomada con la cámara. Figura 20: Imagen resultante de la sección después de aplicarle la corrección de perspectiva.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 46 CX= find( (anglex_comparat > anglex - tolerancia) & (anglex_comparat < anglex + tolerancia)); CZ= find( (anglez_comparat > anglez - tolerancia) & (anglez_comparat < anglez + tolerancia)); R= intersect(CX,CZ); %Los candidatos solo son válidos si coinciden en ambos ángulos. end Se ha implementado una función que compara ángulos. Los ángulos de interés son los correspondientes a una sección recta detectada, y éstos se comparan con un grupo de ángulos de otra cara. De esta forma se puede implementar un proceso iterativo donde por cada punto de una sección, y sus respectivos ángulos, se recorre el vector de ángulos entero de otra sección. El orden del vector de ángulos determina la posición de los puntos, lo cual permite encontrar los posibles puntos candidatos. Entonces, los puntos candidatos se obtienen a través de la intersección conjunta de los puntos que están dentro del rango de ángulos. Es decir, para considerar un punto como candidato, los puntos que cumplen la condición de comparación para los ángulos del plano x-y y los puntos que cumplen la condición para los ángulos fuera de plano z deben de coincidir. 4.5.2 Proximidad en la proyección Conocer la distancia entre secciones es imprescindible para proyectar la fibra, para ello se tomaron las medidas listadas en el anexo A que corresponden al grosor y espaciado de las secciones. En la figura 26 se puede ver un esquema de la proyección de una fibra a partir de su sección recta, con sus respectivos ángulos.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 47 Figura 26: Ejemplo de la proyección del punto fijo de la sección 1A a 2A. Las ecuaciones que se utilizan para proyectar puntos en distintas secciones son las siguientes: 𝑥 =𝑙·cos𝜙sin𝜃+𝑥0 𝑦=𝑙·sin𝜙sin𝜃+𝑦0 𝑙 =𝑧−𝑧0 𝑐𝑜𝑠 𝜃 La longitud l se puede obtener a través de las coordenadas z. Donde la diferencia entre coordenadas z corresponde a la distancia entre secciones. Luego, con los ángulos y las coordenadas origen de la sección propia del punto fijo, que se pueden obtener en la fase de detección de puntos, se pueden proyectar las nuevas coordenadas para la sección deseada. En la figura 27 se ejemplifica la posición en la sección deseada a través de su proyección. Entonces, se puede definir una zona en la cual los puntos contenidos pasen a ser posibles candidatos del punto fijo. Figura 27: Zona de posibles candidatos por proximidad en la proyección del punto fijo en la sección 2A.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 48 De la misma forma que ocurre en el método de comparación por ángulos, es necesario un valor que defina los límites de la zona a considerar. Este valor puede ser minimizado para lograr una mayor precisión en la elección de puntos conexos. Función de la proyección: function [E,F]=proyección_punto(z0,z,anglez,anglex,t,f,correccio,altura) % Esta función dará la proyección de cada punto (en coordenadas X-Y) por % una Z que nosotros le daremos. Las coordenadas "z" y "z0" las obtenemos % de las medidas efectuadas con el pie de rey. theta=anglez; phi=anglex; Centroid=f.Centroid; if(correccio>0) %Esto es para distinguir los cortes que necesitan %corrección en sus coordenadas. (Caras pares) Se %corrigen sus coordenadas. Centroid(2)= altura-Centroid(2); end x0=Centroid(1); %Coordenada (1) de fxx.Centroid y0=Centroid(2)-altura; %Coordenada (2) de fxx.Centroid l= (z-z0) /cosd(theta) ; %obtenemos la longitud deseada a partir de las medidas x1= l*cosd(phi)*sind(theta)+x0; %se proyecta en la coordenada "x" y1= l*sind(theta)*sind(phi)+y0; %se proyecta en la coordenada "y"
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 49 tolerancia=25*t; %la tolerancia se aumenta, ya que se usará el mismo valor para la tolerancia de ángulos, con lo cual sería un valor muy pequeño y no se aumentaría la zona de impacto. Emax=x1+tolerancia; Emin=x1-tolerancia; Fmax=y1+tolerancia; Fmin=y1-tolerancia; E=[Emax,Emin]; F=[Fmax,Fmin]; %Se construye una zona delimitada por la tolerancia donde los %puntos que están dentro de esta zona, pasarán a ser candidatos. end Se ha implementado una función que genera la proyección de un punto fijo a partir de sus ángulos y medidas. Primero se carga la información necesaria, en este caso el centro de las coordenadas en el plano x-y de cada uno de los puntos detectados. Nótese que se corrige la posición en las coordenadas y para las caras pares siendo el parámetro “correccio” el indicador para determinar las secciones que necesitan dicha corrección 5 . Para determinar una zona de interés en la proyección se utiliza la misma tolerancia que en el punto 4.5.1; pero modificándola para poder definir una zona correcta sin que sea muy pequeña, ya que para la proyección utilizamos pixeles en lugar de grados. Esta función devuelve los valores máximos y mínimos de la zona proyectada. 5 Más información en el Anexo C, Rotación de caras pares.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 50 4.5.3 Determinación de puntos candidatos Los dos métodos definidos se aplican separadamente con lo cual luego se analizan los resultados conjuntamente, figura 28. Cada punto candidato del punto fijo es almacenado con su número correspondiente en una posición de una variable de tipo vector. El uso de vectores como variables para almacenar los puntos candidatos es debido a la introducción de tolerancias que hacen que se detecten más de un punto candidato. Este procedimiento es equivalente para los dos métodos, es decir, cada método parte del mismo punto fijo y almacena los puntos candidatos encontrados en dos variables distintas. Luego estas variables se analizan conjuntamente. Figura 28: Diagrama de bloques del proceso de determinación de candidatos. Comparación de las dos metodologías utilizadas para la determinación de puntos candidatos a fibra. El caso ideal es que el método de comparación de ángulos encuentre un único punto candidato, y que el otro método encuentre un único punto y que ambos coincidan.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 51 Como lo más probable es que el caso ideal difícilmente se produzca, se realizan otros cálculos para determinar el candidato correspondiente. La metodología que se sigue es la de hacer pruebas recursivas. Se empiezan las medidas, con ambos métodos, partiendo con un valor de tolerancia muy próximo al 0, y se va incrementado ese valor hasta llegar al máximo de tolerancia que se haya fijado. De esta forma se realizan un gran número de medidas, lo cual supone que los vectores de candidatos tienen un mayor número de elementos, y este mayor número de elementos se traduce en puntos candidatos repetidos. Función de comparación: function Candidat=compara_metodo(R,E,F,f,correccio,altura) X=[]; for j=1:(length(R)) k=R(j); Centroid=f(k).Centroid; if(correccio>0) %solo para los que necesitan corrección Centroid(2)= altura-Centroid(2); end Centroid(2)=Centroid(2)-altura; if( ( E(1) >= Centroid(1) && E(2) <= Centroid(1)) && ( F(1) >= Centroid(2) && F(2) <= Centroid(2))) %condición de comparación X(j)=k; else X(j)=0; end
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 52 end Candidat=X(X>0); end La función de comparación utiliza las variables generadas por las funciones de comparación entre ángulos y la de proyección. De esta manera se comparan ambos resultados y se comprueba que cumplen la condición impuesta. La condición es la siguiente: Las coordenadas origen de los posibles puntos candidatos encontrados en la función de comparación por ángulos tienen que encontrarse dentro de la zona generada por la función de proyección. Si esta condición se cumple, el punto pasa a ser candidato y se almacena en una nueva variable llamada “Candidat” que es retornada por la función. Esta función se ejecuta de forma recursiva para todos los puntos detectados. A cada punto se le asocian varios puntos candidatos, uno por cada sección. Como las fibras tienen una longitud de 5 cm, se calcula a través de las medidas entre secciones el rango que puede llegar a alcanzar un punto, suponiéndolo como origen de la fibra, sobre otra sección. Es decir, partiendo de la sección 1, la máxima sección que alcanzaría una fibra sería la sección 4, utilizando las medidas físicas. De esta forma se acotan las medidas y no se tienen que realizar por todas las secciones posibles, sino solo por las secciones que forman parte del intervalo de alcance de la fibra. La repetición de los elementos del vector ayuda a determinar el candidato principal, que es el que aparece más veces. Se tiene en cuenta que los puntos candidatos encontrados cuando la tolerancia es menor tienen más peso que los puntos encontrados con la tolerancia límite. Elección por repetición: function fib=modaf(candidat_fibra) len=length(candidat_fibra); for i=1:len
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 53 if isempty(candidat_fibra(i).vector) fib(i)=0; else fib(i)= mode(candidat_fibra(i).vector); end end end Como puede haber más de un punto candidato para un punto fijo definido de una misma sección, se tiene que elegir el punto candidato más idóneo. Para ello, se elige el punto candidato más posible por repetición. La variable “candidat_fibra” es una variable de tipo struct que contiene todos los puntos candidatos almacenados en un vector donde la posición representa el punto fijo al que pertenecen esos puntos candidatos. Por ejemplo, candidat_fibra(1).vector representa todos los puntos candidatos que tiene el punto fijo 1 de la sección que se esté analizando. En el Anexo C se puede ver la repetición de estas funciones para todas las secciones bajo análisis. Se aplica la función mode sobre el vector de puntos candidatos y se obtiene el candidato más posible. Este candidato se almacena en una variable y se retorna para poder analizarlo más fácilmente en la fase de verificación. 4.5.4 Fase de verificación La verificación de que el candidato principal es el que conecta con el punto fijo se realiza mediante estudio de las distintas secciones. A continuación se presenta un ejemplo que simplifica la explicación: Empezando por un punto fijo de la sección 1, se determina el candidato principal en la sección adyacente 2. A su vez, con el mismo punto fijo de la sección 1 se determina el candidato principal de la sección 3. El mecanismo que se sigue es que el candidato principal encontrado en la sección 2 pasa a ser el punto fijo de la sección
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 54 2 y se determina un candidato principal en la sección 3. Entonces, se establece la condición de que los puntos candidatos de las secciones 1 sobre 3 y de 2 sobre 3 tienen que coincidir, figura 29. Este mecanismo se puede extrapolar a varias secciones, con lo cual la condición de validación abarca más puntos que tienen que coincidir, haciendo que la medida de los puntos candidatos sea óptima. Figura 29: Ejemplo del proceso de verificación entre tres secciones. Condición de validación definida a partir del ejemplo y extrapolable a cualquiera de las secciones. Cuando se encuentran candidatos principales que no cumplen la condición de validación, se tiene que volver al proceso anterior y determinar un nuevo candidato principal. La obtención de un nuevo candidato principal se hace por repetición, excluyendo el que no cumple dicha condición. Por este motivo se usan vectores con todos los puntos candidatos almacenados, para que sea fácil acceder a ellos cuando se requiera. En la figura 30 se puede ver un esquema del proceso de verificación.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 55 Figura 30: Diagrama de bloques del proceso de verificación de los posibles puntos candidatos encontrados. Función de verificación: function fibm=moda_comparada(moda1,fib1,fib2) len=length(fib1); for i=1:len if moda1(i)~= 0 if (isempty(fib1(i).vector)) && isempty(fib2(moda1(i)).vector) fibm(i)=0;
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 62 yz22=unique(yz22(yz22>0)); yz3=y>1000; yz3=unique(yz3(yz3>0)); yz33=z>4000; yz33=unique(yz33(yz33>0)); cond1=unique(x1(x1>0)); cond2=unique(y1(y1>0)); cond3=unique(z1(z1>0)); if (isempty(yz2)==0 && isempty(yz22)==0); condyz1=0; else condyz1=1; end if (isempty(yz3)==0 && isempty(yz33)==0); condyz2=0; else condyz2=1; end if (isempty(yz1)==0 && isempty(yz11)==0); condyz3=0; else condyz3=1; end if isempty(cond1) && isempty(cond2) && isempty(cond3) && condyz1 && condyz2 && condyz3 plot3(x,y,z,'color','black','LineWidth',2.5); hold on end
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 63 El objetivo de esta función es representar la proyección de la fibra en tres dimensiones. Se pasan los ángulos promediados y las coordenadas iniciales de la fibra por parámetro. Se definen una serie de condiciones que corresponden a los límites del cilindro, ya que se proyecta la fibra con una longitud de 5 cm y puede darse el caso de representar una fibra que traspase los límites. Si se da el caso que una fibra no cumple las condiciones impuestas, esa fibra automáticamente se descarta y no se representa. El resultado de aplicar estas dos funciones iterativamente a todas las fibras almacenadas se puede apreciar en la figura 33. Figura 33: Reconstrucción tridimensional de la probeta a partir de la proyección de las fibras. Visualmente es un modelo muy esquemático pues todas las fibras son lineales y realmente no son así. Pero la ventaja que proporciona este método comparándolo
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 64 con el de la regresión lineal es que se pueden contabilizar todas las fibras que se han representado y analizar su orientación.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 65 5 Resultados 5.1 Resultados de la detección de puntos En la siguiente tabla se pueden ver los resultados de la detección de puntos en cada corte de la probeta. Como la probeta fue cortada en dos partes, tenemos la parte A y la B. La notación que se sigue con las caras es para distinguir cuál de las dos caras de una sección estamos analizando. En este caso, la cara 2_1 equivale a la cara de la sección 2 que es contigua a la sección 1. PARTE CARA A B 1 17 13 2_1 33 21 2_3 47 32 3_2 57 47 3_4 60 51 4_3 60 60 4_5 77 89 5_4 77 94 5_6 74 87 6_5 67 82 6_7 67 67 7_6 63 56 7_8 40 35 8 23 28 TOTAL 762 762 TOTAL PROBETA 1524
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 66 Tabla 3: Puntos detectados en cada una de las secciones de ambas mitades. Número total de puntos detectados en la totalidad de la probeta. El número total de secciones rectas de fibra detectadas en toda la probeta es de 1524. En ambas partes, A y B, el número detectado ha sido el mismo, lo cual indica que la densidad de fibras está repartida equitativamente en toda la probeta. Otro parámetro importante es el crecimiento de los puntos detectados según el área del corte. A continuación se pueden ver unas gráficas con el área de las secciones y su relación con los puntos detectados. Distribución de los puntos detectados: Figura 34: Gráfica de la distribución de puntos detectados en la mitad A. 0 10 20 30 40 50 60 70 80 90 Puntos detectados Distribución puntos detectados parte A
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 67 Figura 35: Gráfica de la distribución de puntos detectados en la mitad B. Área de las secciones: Figura 36: Gráfica del área de las secciones de la mitad A. 0 10 20 30 40 50 60 70 80 90 100 Puntos detectados Distribución puntos detectados parte B 0 20 40 60 80 100 120 Área (cm2) Área secciones parte A
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 68 Figura 37: Gráfica del área de las secciones de la mitad B. Relación entre Área y el número de puntos detectados: Figura 38: Gráfica de la relación entre el Área y los puntos detectados con su recta de regresión. 0 20 40 60 80 100 120 140 Área (cm2) Área secciones parte B R² = 0,6998 0 10 20 30 40 50 60 70 80 90 100 45 55 65 75 85 95 105 115 Puntos detectados Área (cm2) Relación Área / Puntos detectados
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 69 Como se puede observar, el número de puntos detectados es mayor cuanta más superficie disponible hay. Por eso las secciones que tienen más área como las secciones 4 y 5 de ambas partes contienen un mayor número de puntos. Relacionando el número de puntos detectados en función del área obtenemos una gráfica de dispersión de puntos. Buscando la recta de regresión de la relación entre puntos detectados y área, obtenemos una recta que tiene una tendencia creciente. Es decir, cuanto mayor sea el área más puntos se pueden detectar. En la figura 39 se puede ver una gráfica tridimensional con todos los puntos detectados en función de la sección a la cual pertenecen. Como en las gráficas anteriores se puede apreciar como hay más concentración de puntos en las secciones con mayor superficie. Se han corregido las coordenadas verticales de las caras pares. Figura 39: Representación 3D de todos los puntos detectados en función de la sección a la cual pertenecen.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 70 A continuación se muestran unas tablas con intervalos de ángulos. Donde se ve que intervalo es más numeroso. Los intervalos con mayor porcentaje se han marcado de color verde. Ángulos parte A Intervalo ángulo (deg) Nº puntos Porcentaje [0-15) 48 6% [15-30) 71 9% [30-45) 195 26% [45-60) 280 37% [60-75) 143 19% [75-90) 25 3% TOTAL 762 Intervalo ángulo (deg) Nº puntos Porcentaje [0-18) 64 8% [18-36) 38 5% [36-54) 63 8% [54-72) 82 11% [72-90) 127 17% [-90 a -72) 117 15% [-72 a -54) 100 13% [-54 a -36) 83 11% [-36 a -18) 48 6% [-18 a 0) 40 5% TOTAL 762 Tabla 4: Puntos detectados y sus ángulos mediante intervalos. Parte A.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 71 Figura 40: Histograma de los intervalos del ángulo de la mitad A. Figura 41: Histograma de los intervalos del ángulo de la mitad A. Ángulos parte B: Intervalo ángulo (deg) Nº puntos Porcentaje [0-15) 11 1% [15-30) 106 14% [30-45) 284 37% 0 50 100 150 200 250 300 [0-15) [15-30) [30-45) [45-60) [60-75) [75-90) Mitad A - ángulo Intervalo de ángulos (º) 0 20 40 60 80 100 120 140 [0-18) [18-36) [36-54) [54-72) [72-90) [-90 a -72)[-72 a -54)[-54 a -36)[-36 a -18) [-18 a 0) Mitad A - ángulo Intervalo de ángulos (º)
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 78 Promediando los resultados se obtiene que la orientación prioritaria para el ángulo es de 49,3º y de 57,6º y -54º para el ángulo Haciendo un promedio del ángulo , tanto negativo como positivo, se llega al resultado de que tiene aproximadamente el mismo número de fibras con orientación positiva y negativa. Esto quiere decir que haciendo el promedio, resulta un ángulo cercano a 0º. Es decir, el intervalo posible de valores de este ángulo va de 90º a -90º, pero para un entendimiento mayor es lo mismo decir que la orientación puede variar entre 0º y 180º (en un plano orientado en otra dirección), y que el valor promedio de es de 90º aproximadamente.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 79 6 Conclusiones El objetivo principal de este proyecto, la reconstrucción tridimensional de una probeta de hormigón con fibras de acero, se ha alcanzado. También se han obtenido los parámetros de medida referentes a la orientación y la cuantía total de fibras. Tanto el número teórico de fibras como las obtenidas a partir del método inductivo difieren del número detectado. La explicación a esto es que, vistos los resultados en el punto 5.2, las fibras orientadas en la dirección del corte no se han podido detectar porque su sección recta no coincidía con los cortes de la probeta. El método propuesto en el presente proyecto es muy semejante, salvando las distancias, al método de la TC. Es por eso, que un trabajo futuro muy importante puede ser el de comparar este método con el de la TC. El método de la TC es muy caro y requiere de unas condiciones especiales para que se pueda realizar, con lo cual es muy interesante poder contrastarlo con el método definido en este proyecto. La TC es un método no destructivo, a diferencia de este, por eso se puede primero aplicar el método de la TC sobre una probeta y obtener la reconstrucción 3D con información de los parámetros de orientación y cuantía total de fibras. Después se puede aplicar el método presentado en este proyecto utilizando la misma probeta, cortándola y obteniendo la reconstrucción 3D con los parámetros especificados. Contrastando los resultados obtenidos en ambos métodos se podrá saber la validez del método presentado y si puede considerarse una alternativa al método de la TC. La gran desventaja que presenta este método es que se trabaja con poca información y se tienen que aproximar y extrapolar algunos resultados. El ejemplo más claro es el desconocimiento por falta de información de la posición origen y final de una fibra, ya que este dato se desconoce y se tiene que optar por representar la fibra a partir de una aproximación en su posición. Una línea futura sería investigar la obtención de información para la representación de las fibras. El proceso de elaboración del código ha necesitado estructuras iterativas debido a la importancia de la posición y el orden de los vectores utilizados, impidiendo utilizar técnicas de vectorización. De esta forma el tiempo de procesamiento es bastante
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 80 elevado. Teniendo en cuenta que se ha elaborado el código partiendo de cero, y que éste es muy extenso, una futura línea de trabajo podría ser la optimización y refactorización del código. Mejorando la eficiencia y reduciendo el tiempo de procesamiento. Revisando algunas funciones intentando automatizarlas totalmente sin tener que modificar manualmente algunas variables. Este paso sería de gran ayuda para futuras pruebas ya que permitiría realizar varias medidas en distintas probetas al mismo tiempo sin necesidad de ajustar nuevas variables o nuevas medidas. La probeta que se ha utilizado en este proyecto ha sido una probeta cilíndrica, lo cual ha dificultado el proceso de medida, ya que las secciones tenían distintos tamaños y esto se ha visto reflejado en el código ya que se han producido algunas desviaciones de la medida real. Es conveniente tener en cuenta para futuras investigaciones que una probeta cúbica facilitaría el proceso de medida. Los cortes se podrían realizar con mayor comodidad y las medidas de cada sección serían las mismas, facilitando así el procesamiento de las imágenes. Una vía futura podría ser la de comparar el mismo método que se ha utilizado en este proyecto pero utilizando una probeta cilíndrica y otra de cúbica, de esta forma se podrían obtener las ventajas en la utilización de una probeta cúbica. La cámara fotográfica que se ha utilizado para la toma de imágenes de las secciones tenía una resolución de 12 Mpíxels como se ha explicado en el capítulo de la descripción experimental del proceso de medida. Esta resolución difiere de la resolución óptima que se ha calculado teóricamente que correspondía con unos 28- 30 Megapíxeles. El uso de una resolución menor a la óptima tiene repercusión en el procesado de las imágenes y en la detección de los puntos, ya que se pueden producir desviaciones en las medidas de los puntos teniendo una resolución menor. Una futura investigación sería la de realizar este mismo experimento pero tomando las imágenes con cámaras fotográficas de distintas resoluciones: un valor de resolución próximo al valor óptimo, un valor más bajo y un valor medio. Analizando el impacto que tiene la utilización de cada una de las resoluciones en el resultado final comparando si existen diferencias notables en función de la resolución de la cámara.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 81 7 Anexo A. Medidas realizadas Sección Largo (mm) Ancho (mm) Grosor(mm) 8A 149,72 32,48 13,12 7A (cara 8) 149,90 40,78 14,34 7A (cara 6) 149,90 54,13 14,34 6A (cara 7) 149,91 58,66 12,99 6A (cara 5) 149,10 63,72 12,99 5A (cara 6) 150,10 66,41 30,57 5A (cara 4) 150,64 71,47 30,57 4A(cara 5) 150,70 71,34 13,09 4A(cara 3) 151,60 70,23 13,09 3A (cara 4) 151,82 67,94 14,51 3A (cara 2) 151,74 64,62 14,51 2A (cara 3) 150,87 57,78 15,89 2A (Cara 1) 151,18 48,27 15,89 1A 152,10 38,67 16,02 1B 151,28 42,61 16,03 2B (cara 1) 151,23 50,81 14,54 2B (cara 3) 150,36 61,82 14,54 3B(cara 2) 150,71 64,62 14,49 3B(cara 4) 150,32 72,61 14,49 4B (cara 3) 149,73 73,69 15,30 4B (cara 5) 149,73 76,24 15,30 5B (cara 4) 149,41 77,06 25,25 5B (cara 6) 149,23 73,16 25,25 6B (cara 5) 148,96 70,93 14,66 6B (cara 7) 148,99 63,89 14,66 7B (cara 6) 148,83 60,30 13,54 7B (cara 8) 148,83 49,52 13,54 8B 148,86 42,12 15,25 Tabla 8: Medidas realizadas en cada una de las secciones, medidas expresadas en milímetros.
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 82 Parte A Parte B Espacio entre secciones [mm] Espacio entre secciones [mm] 1 a 2 2,88 1 a2 4,18 2 a 3 3,09 2 a 3 2,55 3 a 4 3,17 3 a 4 2,52 4 a 5 2,03 4 a 5 2,87 5 a 6 3,41 5 a 6 2,70 6 a 7 2,16 6 a 7 3,57 7 a 8 4,68 7 a 8 2,81 TOTAL 21,42 TOTAL 21,20 Tabla 9: Medidas correspondientes al espaciado entre secciones. B. Funciones utilizadas de MATLAB A continuación se muestran algunas funciones propias de MATLAB que se han utilizado en el código realizado. Rgb2gray Convierte una imagen RGB a una imagen de escala de grises. Imopen Realiza la apertura morfológica de una imagen. Strel Crea un elemento estructurante de uno de los siguientes tipos:
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 83 Tabla 10: Distintas formas que puede tener el elemento estructurante. Im2bw Convierte una imagen cualquiera a una imagen binaria. Basado en el valor umbral. Imadjust Ajusta una imagen en función de los valores de la intensidad. Bwareaopen Elimina objetos pequeños en una imagen binaria. A partir de un valor de pixeles fijo, se eliminan todos aquellos objetos que tienen un tamaño menor. Bwconncomp Encuentra componentes conectados en una imagen binaria. Parámetros generados al aplicar esta función:
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 84 Tabla 11: Parámetros que se obtienen con la función bwconncomp. Regionprops Mide las propiedades de las regiones de una imagen. Los parámetros que se pueden medir al aplicar esta función son los siguientes: Tabla 12: Parámetros que se obtienen con la función regionprops. Intersect Intersección de dos vectores. Mode Encuentra los valores más frecuentes en un vector. Isempty
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 85 Determina si un vector está vacío. Devuelve 1 si el vector está vacío y 0 si no lo está. Se utiliza sobretodo en condiciones. Plot3 Representación gráfica en 3 dimensiones. Unique Devuelve un único valor en un vector donde ese valor aparece más de una vez. Al aplicar esta función el vector tiene el mismo valor pero sin ninguna repetición. Cylinder Genera un cilindro. Necesita utilizar otros parámetros para cambiar la apariencia del cilindro. El cilindro generado es como el que aparece a continuación: Ilustración 1: Cilindro generado con la función cylinder. Surf Crea un gráfico en 3 dimensiones de una superficie. Como en el ejemplo que se puede ver a continuación:
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 86 Ilustración 2: Ejemplo de la representación en 3D de una superficie. C. Código de MATLAB A continuación se presenta parte del código elaborado con este proyecto. Al tratarse de un código muy extenso, se han omitido algunas partes que pueden ser redundantes. Como se ha trabajado con las dos mitades por separado, aplicándoles las mismas funciones con alguna modificación, solo se presenta las funciones propias de una cara en concreto. Se clasifica el código según la parte del proceso en la que se encuentra, facilitando así su entendimiento. Procesado de las imágenes. Función de detección function [r,c,info,fiberdata]=fiber_count(foto) I=imread(foto); f=rgb2gray(I); background=imopen(f,strel('disk',30)); I2=f-background; I3=imadjust(I2); bw=im2bw(I3,0.9); bw=bwareaopen(bw,500); imshow(bw);
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 87 info=bwconncomp(bw,4); [r,c]=find(bw>0); fiberdata=regionprops(info,'all'); end Detección de puntos en cada una de las imágenes: Los variables que retorna la función fiber_count almacenan valores como las coordenadas en los ejes x e y, la información conjunta de la sección (número de puntos detectados) y las propiedades de cada punto en particular. [r1,c1,info1,f1]=fiber_count('1A.jpg'); [r21,c21,info21,f21]=fiber_count('2A (cara 1).jpg'); [r23,c23,info23,f23]=fiber_count('2A (cara 3).jpg'); [r32,c32,info32,f32]=fiber_count('3A (cara 2).jpg'); [r34,c34,info34,f34]=fiber_count('3A (cara 4).jpg'); [r43,c43,info43,f43]=fiber_count('4A (cara 3).jpg'); [r45,c45,info45,f45]=fiber_count('4A (cara 5).jpg'); [r54,c54,info54,f54]=fiber_count('5A (cara 4).jpg'); [r56,c56,info56,f56]=fiber_count('5A (cara 6).jpg'); [r65,c65,info65,f65]=fiber_count('6A (cara 5).jpg'); [r67,c67,info67,f67]=fiber_count('6A (cara 7).jpg'); [r76,c76,info76,f76]=fiber_count('7A (cara 6).jpg'); [r78,c78,info78,f78]=fiber_count('7A (cara 8).jpg'); [r8,c8,info8,f8]=fiber_count('8A.jpg'); Rotación de caras pares Donde rxx corresponde a la coordenada inicial del eje y, altxax corresponde a la altura máxima de la pieza, valor obtenido de las medidas en el punto 4.1, y rrxx son las coordenadas del eje “y” corregidas. rr21=alt2a1-r21; rr32=alt3a2-r32; rr43=alt4a3-r43; rr54=alt5a4-r54; rr65=alt6a5-r65; rr76=alt7a6-r76; rr8=alt8a-r8; Altura máxima expresada en pixeles. %altura expresada en pixels de la parte A alt1a= 1096;
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 94 fibra(i).vector=busca_candidato(anglexy(i),anglez(i),anglexycomparat,anglezcomparat,corre ccio1,correccio2,f(i),fcomparat,rcorreccio1,rcorreccio2,coordz0,coordz,coordz01,coordz1); end else error('ERROR'); end Estas tres funciones componen el proceso de comparación de los distintos métodos de determinación de candidatos y el primer paso de validación. Script de ejecución para cada una de las secciones: Este script ejecuta todas las funciones citadas anteriormente para obtener todos los candidatos posibles que luego se utilizarán para la representación gráfica. Cada sección se compara con cada una de las otras secciones, en busca de los candidatos. El factor limitante será el de la longitud de la fibra, de esta manera no se pueden comparar secciones que estén separadas más de 5 cm. fibra1_21=connectafibres(anglexy1,anglez1,anglexy21,anglez21,0,1,f1,f21,alt1a,alt2a1,zf1v, zf21v,zf1n,zf21n); fibra1_23=connectafibres(anglexy1,anglez1,anglexy23,anglez23,0,0,f1,f23,alt1a,alt2a3,zf1v, zf23v,zf1v,zf23n); fibra1_32=connectafibres(anglexy1,anglez1,anglexy32,anglez32,0,1,f1,f32,alt1a,alt3a2,zf1v, zf32v,zf1v,zf32n); fibra1_34=connectafibres(anglexy1,anglez1,anglexy34,anglez34,0,0,f1,f34,alt1a,alt3a4,zf1v, zf34v,zf1v,zf34n); fibra1_43=connectafibres(anglexy1,anglez1,anglexy43,anglez43,0,1,f1,f43,alt1a,alt4a3,zf1v, zf43v,zf1v,zf43n); fibra21_23=connectafibres(anglexy21,anglez21,anglexy23,anglez23,1,0,f21,f23,alt2a1,alt2a 3,zf21v,zf23v,zf21n,zf23n); fibra21_32=connectafibres(anglexy21,anglez21,anglexy32,anglez32,1,1,f21,f32,alt2a1,alt3a 2,zf21v,zf32v,zf21n,zf32n); fibra21_34=connectafibres(anglexy21,anglez21,anglexy34,anglez34,1,0,f21,f34,alt2a1,alt3a 4,zf21v,zf34v,zf21n,zf34n); fibra21_43=connectafibres(anglexy21,anglez21,anglexy43,anglez43,1,1,f21,f43,alt2a1,alt4a 3,zf21v,zf43v,zf21n,zf43n); fibra21_45=connectafibres(anglexy21,anglez21,anglexy45,anglez45,1,0,f21,f45,alt2a1,alt4a 5,zf21v,zf45v,zf21n,zf45n);
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 95 fibra23_32=connectafibres(anglexy23,anglez23,anglexy32,anglez32,0,1,f23,f32,alt2a3,alt3a 2,zf23v,zf32v,zf23n,zf32n); fibra23_34=connectafibres(anglexy23,anglez23,anglexy34,anglez34,0,0,f23,f34,alt2a3,alt3a 4,zf23v,zf34v,zf23n,zf34n); fibra23_43=connectafibres(anglexy23,anglez23,anglexy43,anglez43,0,1,f23,f43,alt2a3,alt4a 3,zf23v,zf43v,zf23n,zf43n); fibra23_45=connectafibres(anglexy23,anglez23,anglexy45,anglez45,0,0,f23,f45,alt2a3,alt4a 5,zf23v,zf45v,zf23n,zf45n); fibra23_54=connectafibres(anglexy23,anglez23,anglexy54,anglez54,0,1,f23,f54,alt2a3,alt5a 4,zf23v,zf54v,zf23n,zf54n); fibra32_34=connectafibres(anglexy32,anglez32,anglexy34,anglez34,1,0,f32,f34,alt3a2,alt3a 4,zf32v,zf34v,zf32n,zf34n); fibra32_43=connectafibres(anglexy32,anglez32,anglexy43,anglez43,1,1,f32,f43,alt3a2,alt4a 3,zf32v,zf43v,zf32n,zf43n); fibra32_45=connectafibres(anglexy32,anglez32,anglexy45,anglez45,1,0,f32,f45,alt3a2,alt4a 5,zf32v,zf45v,zf32n,zf45n); fibra32_54=connectafibres(anglexy32,anglez32,anglexy54,anglez54,1,1,f32,f54,alt3a2,alt5a 4,zf32v,zf54v,zf32n,zf54n); fibra32_56=connectafibres(anglexy32,anglez32,anglexy56,anglez56,1,0,f32,f56,alt3a2,alt5a 6,zf32v,zf56v,zf32n,zf56n); fibra34_43=connectafibres(anglexy34,anglez34,anglexy43,anglez43,0,1,f34,f43,alt3a4,alt4a 3,zf34v,zf43v,zf34n,zf43n); fibra34_45=connectafibres(anglexy34,anglez34,anglexy45,anglez45,0,0,f34,f45,alt3a4,alt4a 5,zf34v,zf45v,zf34n,zf45n); fibra34_54=connectafibres(anglexy34,anglez34,anglexy54,anglez54,0,1,f34,f54,alt3a4,alt5a 4,zf34v,zf54v,zf34n,zf54n); fibra34_56=connectafibres(anglexy34,anglez34,anglexy56,anglez56,0,0,f34,f56,alt3a4,alt5a 6,zf34v,zf56v,zf34n,zf56n); fibra34_65=connectafibres(anglexy34,anglez34,anglexy65,anglez65,0,1,f34,f65,alt3a4,alt6a 5,zf34v,zf65v,zf34n,zf65n); fibra43_45=connectafibres(anglexy43,anglez43,anglexy45,anglez45,1,0,f43,f45,alt4a3,alt4a 5,zf43v,zf45v,zf43n,zf45n); fibra43_54=connectafibres(anglexy43,anglez43,anglexy54,anglez54,1,1,f43,f54,alt4a3,alt5a 4,zf43v,zf54v,zf43n,zf54n); fibra43_56=connectafibres(anglexy43,anglez43,anglexy56,anglez56,1,0,f43,f56,alt4a3,alt5a 6,zf43v,zf56v,zf43n,zf56n); fibra43_65=connectafibres(anglexy43,anglez43,anglexy65,anglez65,1,1,f43,f65,alt4a3,alt6a 5,zf43v,zf65v,zf43n,zf65n); fibra43_67=connectafibres(anglexy43,anglez43,anglexy67,anglez67,1,0,f43,f67,alt4a3,alt6a 7,zf43v,zf67v,zf43n,zf67n); fibra45_54=connectafibres(anglexy45,anglez45,anglexy54,anglez54,0,1,f45,f54,alt4a5,alt5a 4,zf45v,zf54v,zf45n,zf54n); fibra45_56=connectafibres(anglexy45,anglez45,anglexy56,anglez56,0,0,f45,f56,alt4a5,alt5a 6,zf45v,zf56v,zf45n,zf56n);
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 96 fibra45_65=connectafibres(anglexy45,anglez45,anglexy65,anglez65,0,1,f45,f65,alt4a5,alt6a 5,zf45v,zf65v,zf45n,zf65n); fibra45_67=connectafibres(anglexy45,anglez45,anglexy67,anglez67,0,0,f45,f67,alt4a5,alt6a 7,zf45v,zf67v,zf45n,zf67n); fibra45_76=connectafibres(anglexy45,anglez45,anglexy76,anglez76,0,1,f45,f76,alt4a5,alt7a 6,zf45v,zf76v,zf45n,zf76n); fibra54_56=connectafibres(anglexy54,anglez54,anglexy56,anglez56,1,0,f54,f56,alt5a4,alt5a 6,zf54v,zf56v,zf54n,zf56n); fibra54_65=connectafibres(anglexy54,anglez54,anglexy65,anglez65,1,1,f54,f65,alt5a4,alt6a 5,zf54v,zf65v,zf54n,zf65n); fibra54_67=connectafibres(anglexy54,anglez54,anglexy67,anglez67,1,0,f54,f67,alt5a4,alt6a 7,zf54v,zf67v,zf54n,zf67n); fibra54_76=connectafibres(anglexy54,anglez54,anglexy76,anglez76,1,1,f54,f76,alt5a4,alt7a 6,zf54v,zf76v,zf54n,zf76n); fibra54_78=connectafibres(anglexy54,anglez54,anglexy78,anglez78,1,0,f54,f78,alt5a4,alt7a 8,zf54v,zf78v,zf54n,zf78n); fibra56_65=connectafibres(anglexy56,anglez56,anglexy65,anglez65,0,1,f56,f65,alt5a6,alt6a 5,zf56v,zf65v,zf56n,zf65n); fibra56_67=connectafibres(anglexy56,anglez56,anglexy67,anglez67,0,0,f56,f67,alt5a6,alt6a 7,zf56v,zf67v,zf56n,zf67n); fibra56_76=connectafibres(anglexy56,anglez56,anglexy76,anglez76,0,1,f56,f76,alt5a6,alt7a 6,zf56v,zf76v,zf56n,zf76n); fibra56_78=connectafibres(anglexy56,anglez56,anglexy78,anglez78,0,0,f56,f78,alt5a6,alt7a 8,zf56v,zf78v,zf56n,zf78n); fibra56_8=connectafibres(anglexy56,anglez56,anglexy8,anglez8,0,1,f56,f8,alt5a6,alt8a,zf56 v,zf8v,zf56n,zf8n); fibra65_67=connectafibres(anglexy65,anglez65,anglexy67,anglez67,1,0,f65,f67,alt6a5,alt6a 7,zf65v,zf67v,zf65n,zf67n); fibra65_76=connectafibres(anglexy65,anglez65,anglexy76,anglez76,1,1,f65,f76,alt6a5,alt7a 6,zf65v,zf76v,zf65n,zf76n); fibra65_78=connectafibres(anglexy65,anglez65,anglexy78,anglez78,1,0,f65,f78,alt6a5,alt7a 8,zf65v,zf78v,zf65n,zf78n); fibra65_8=connectafibres(anglexy65,anglez65,anglexy8,anglez8,1,1,f65,f8,alt6a5,alt8a,zf65 v,zf8v,zf65n,zf8n); fibra67_76=connectafibres(anglexy67,anglez67,anglexy76,anglez76,0,1,f67,f76,alt6a7,alt7a 6,zf67v,zf76v,zf67n,zf76n); fibra67_78=connectafibres(anglexy67,anglez67,anglexy78,anglez78,0,0,f67,f78,alt6a7,alt7a 8,zf67v,zf78v,zf67n,zf78n); fibra67_8=connectafibres(anglexy67,anglez67,anglexy8,anglez8,0,1,f67,f8,alt6a7,alt8a,zf67 v,zf8v,zf67n,zf8n); fibra76_78=connectafibres(anglexy76,anglez76,anglexy78,anglez78,1,0,f76,f78,alt7a6,alt7a 8,zf76v,zf78v,zf76n,zf78n);
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 97 fibra76_8=connectafibres(anglexy76,anglez76,anglexy8,anglez8,1,1,f76,f8,alt7a6,alt8a,zf76 v,zf8v,zf76n,zf8n); fibra78_8=connectafibres(anglexy78,anglez78,anglexy8,anglez8,0,1,f78,f8,alt7a8,alt8a,zf78 v,zf8v,zf78n,zf8n); Función de elección por repetición: function fib=modaf(candidat_fibra) len=length(candidat_fibra); for i=1:len if isempty(candidat_fibra(i).vector) fib(i)=0; else fib(i)= mode(candidat_fibra(i).vector); end end end Función de verificación: function fibm=moda_comparada(moda1,fib1,fib2) len=length(fib1); for i=1:len if moda1(i)~= 0 if (isempty(fib1(i).vector)) && isempty(fib2(moda1(i)).vector) fibm(i)=0; else if (isempty(fib1(i).vector)) || isempty(fib2(moda1(i)).vector) fibm(i)=mode([fib1(i).vector,fib2(moda1(i)).vector]); else if (mode(fib1(i).vector) == mode(fib2(moda1(i)).vector)) fibm(i)=mode(fib1(i).vector); else fibm(i)=mode([fib1(i).vector,fib2(moda1(i)).vector]); end end end else fibm(i)=0;
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 98 end end Reconstrucción tridimensional: Función representación de la regresión lineal len=length(fibra_m1); j=0; fibra1= struct ('graf',{}); for i=1:len if( (fibra_m1(i).moda(1) ~= 0) && (fibra_m1(i).moda(2) ~= 0) && (fibra_m1(i).moda(3) ~= 0) && (fibra_m1(i).moda(4) ~= 0) && (fibra_m1(i).moda(5) ~= 0) && (fibra_m1(i).moda(6) ~= 0) ) fibra1(i).graf=fibra_m1(i).moda; j=j+6; x1=f1(fibra_m1(i).moda(1)).Centroid; x21=f21(fibra_m1(i).moda(2)).Centroid; x23=f23(fibra_m1(i).moda(3)).Centroid; x32=f32(fibra_m1(i).moda(4)).Centroid; x34=f34(fibra_m1(i).moda(5)).Centroid; x43=f43(fibra_m1(i).moda(6)).Centroid; x1(2)=x1(2)-alt1b; x21(2)=-x21(2); x23(2)=x23(2)-alt2b3; x32(2)=-x32(2); x34(2)=x34(2)-alt3b4; x43(2)=-x43(2); x=[x1(1) x21(1) x23(1) x32(1) x34(1) x43(1)]; y=[x1(2) x21(2) x23(2) x32(2) x34(2) x43(2)]; z=[zf1bv zf21bv zf23bv zf32bv zf34bv zf43bv]; %-------------------------------------------------------------------- %LINEAL REGRESSION H=[1 x(1) z(1);1 x(2) z(2);1 x(3) z(3);1 x(4) z(4);1 x(5) z(5);1 x(6) z(6)]; Y=y'; A=pinv(H)*Y; X=x; Z=z; Y2=A(1)+A(2)*X+A(3)*Z; plot3(X,Y2,Z,'color',color{14},'LineWidth',2.5); hold on %--------------------------------------------------------------------
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 99 Función de proyección para representación gráfica: len=length(fibra_m1); fibra1= struct ('graf',{}); for i=1:len if( (fibra_m1(i).moda(1) ~= 0) && (fibra_m1(i).moda(2) ~= 0) && (fibra_m1(i).moda(3) ~= 0) && (fibra_m1(i).moda(4) ~= 0) && (fibra_m1(i).moda(5) ~= 0) && (fibra_m1(i).moda(6) ~= 0) ) fibra1(i).graf=fibra_m1(i).moda; j=j+6; x1=f1(fibra_m1(i).moda(1)).Centroid; x1(2)=x1(2)-alt1b; [anglez1_promig,anglexy1_promig]=promitjat_angles(angulos,fibra_m1(i).moda,k,6); projecta_fibra_solaB(anglez1_promig,anglexy1_promig,zf1bv,x1(1),x1(2)); fibra=fibra+1; fprintf(fidz,'%f \n', anglez1_promig); fprintf(fidxy,'%f \n', anglexy1_promig); hold on end end [puntsf1,punts121,punts123,punts132,punts134,punts143]=exclusio_punts(fibra1); La función de proyección para representación gráfica está formada por las siguientes funciones: Promediado de ángulos: function [anglez_promig,anglexy_promig]=promitjat_angles(angulos,index_fibra,k,l) for i=1:l anglez_total(i)=angulos(k+i).z(index_fibra(i)); anglexy_total(i)=angulos(k+i).x(index_fibra(i)); end; anglez_promig=sum(anglez_total)/l; anglexy_promig=sum(anglexy_total)/l; Proyección de la fibra:
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 100 function projecta_fibra_sola(anglez,anglexy,z0,x0,y0) theta=anglez; phi=anglexy; l=0:1:1417; x=l*cosd(phi)*sind(theta)+x0; y=l*sind(phi)*sind(theta)+y0; z=l*cosd(theta)+z0; x1= x>=4251; y1 =y>=2125; z1= z>=4251; yz1=y>2000; yz1=unique(yz1(yz1>0)); yz11= z>3000; yz11=unique(yz11(yz11>0)); yz2=y>1500; yz2=unique(yz2(yz2>0)); yz22=z>3750; yz22=unique(yz22(yz22>0)); yz3=y>1000; yz3=unique(yz3(yz3>0)); yz33=z>4000; yz33=unique(yz33(yz33>0)); cond1=unique(x1(x1>0)); cond2=unique(y1(y1>0)); cond3=unique(z1(z1>0)); if (isempty(yz2)==0 && isempty(yz22)==0); condyz1=0; else condyz1=1; end if (isempty(yz3)==0 && isempty(yz33)==0); condyz2=0; else condyz2=1; end if (isempty(yz1)==0 && isempty(yz11)==0); condyz3=0; else condyz3=1; end if isempty(cond1) && isempty(cond2) && isempty(cond3) && condyz1 && condyz2 && condyz3
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 101 plot3(x,y,z,'color','black','LineWidth',2.5); hold on end D. Tabla de orientación de las fibras A continuación se muestra el resultado del análisis de la orientación de cada una de las fibras. La numeración sigue el orden de las primeras fibras detectadas de las primeras secciones analizadas. PARTE A PARTE B FIBRA ÁNGULO Z (°) ÁNGULO XY (°) FIBRA ÁNGULO Z (°) ÁNGULO XY (°) 1 62,00 46,01 1 38,25 -61,14 2 65,02 -77 2 55,53 79,43 3 43,26 72,93 3 52,41 -68,41 4 34,81 75,06 4 57,13 77,31 5 60,34 -55,41 5 38,37 -42,94 6 65,87 81,42 6 30,98 -71,90 7 51,25 64,55 7 44,93 -68,85 8 48,23 69,36 8 42,41 -81,69 9 48,70 68,44 9 40,11 -49,64 10 50,37 86,96 10 38,30 -78,75 11 65,04 -78,25 11 48,53 70,04 12 53,56 -41,50 12 34,44 -48,95 13 58,67 51,12 13 42,73 60,70 14 56,63 -59,09 14 48,08 -57,19 15 62,73 -49,95 15 35,27 16,64 16 60,00 67,69 16 47,97 -18,85 17 48,12 33,52 17 39,42 23,71 18 50,82 65,12 18 47,42 67,06 19 68,76 -84,73 19 49,68 -74,16 20 53,59 -47,78 20 53,35 73,87 21 66,73 -56,94 21 44,69 68,43 22 49,77 -79,94 22 47,39 -65,59 23 53,84 -76,84 23 44,73 -74,30 24 50,25 -82,44 24 48,94 78,22 25 63,86 80,50 25 39,57 74,60 26 44,73 -41,97 26 55,31 50,25
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 102 27 56,05 80,80 27 43,55 31,30 28 56,80 -62,53 28 69,47 -0,32 29 65,66 -53,58 29 53,48 -48,69 30 74,43 -76,77 30 69,26 60,40 31 76,50 68,69 31 47,32 36,43 32 64,18 -52,48 32 54,62 -41,69 33 55,49 56,34 33 72,01 9,05 34 74,39 54,79 34 60,49 67,97 35 44,11 79,62 35 38,54 -74,74 36 61,88 -59,60 36 55,60 58,77 37 68,82 -82,45 37 51,07 42,23 38 69,35 -85,04 38 64,09 -73,99 39 50,73 -8,56 39 47,07 55,51 40 34,38 -47,63 40 48,44 46,47 41 46,26 -36,30 41 74,21 63,64 42 42,89 66,95 42 69,02 -81,40 43 77,25 -82,51 43 71,43 80,08 44 48,91 -38,94 44 45,74 -40,01 45 34,34 -30,69 45 48,54 56,81 46 71,05 -80,62 46 39,71 -54,40 47 58,27 -37,38 47 43,63 55,03 48 68,94 -59,42 48 47,76 63,24 49 63,67 -52,24 49 49,29 62,99 50 57,61 -38,13 50 42,45 -64,08 51 60,50 -36,65 51 70,68 -74,75 52 37,88 -54,90 52 31,89 -56,90 53 75,21 83,43 53 46,84 18,91 54 79,05 -81,28 54 47,71 82,74 55 73,98 83,37 55 61,56 75,25 56 74,21 72,44 56 51,92 -62,27 57 77,43 -78,86 57 34,83 72,34 58 37,59 72,87 58 56,70 72,26 59 70,37 58,64 59 46,32 65,73 60 70,64 81,18 60 39,93 -70,75 61 31,49 -53,78 61 42,70 -26,87 62 46,10 -82,21 62 40,48 -17,62 63 56,99 -74,90 63 60,18 76,97 64 52,04 -77,76 64 34,91 -68,00 65 40,61 71,13 65 69,45 48,78 66 49,77 -73,70 66 41,46 38,38 67 61,14 -58,53 67 30,15 -74,98 68 49,10 -78,91 68 36,37 -64,16 69 46,09 83,01 69 41,86 -36,20
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 103 70 52,39 -86,77 70 48,04 46,76 71 63,39 -85,63 71 37,50 -20,81 72 56,89 77,87 72 44,63 80,88 73 39,75 -24,37 73 34,22 73,34 74 43,94 -3,90 74 39,32 -59,32 75 34,12 69,03 75 50,32 61,65 76 38,03 67,82 76 54,02 66,15 77 54,62 -74,88 77 34,11 3,48 78 34,54 70,33 78 37,01 52,91 79 24,91 -64,75 79 32,64 4,03 80 51,67 53,76 80 58,42 5,92 81 52,36 59,35 81 45,45 -64,06 82 37,35 -78,06 82 53,94 -78,84 83 59,64 53,20 83 39,69 -8,28 84 56,92 79,45 84 40,90 -20,68 85 52,74 72,49 85 61,46 -32,11 86 50,16 48,09 86 47,49 -18,41 87 49,46 59,80 87 58,70 11,09 88 56,48 57,92 88 70,31 58,11 89 50,20 -58,84 89 72,50 61,28 90 45,47 83,61 90 50,48 -78,16 91 45,76 -52,28 91 60,08 -70,53 92 44,45 -55,21 92 54,87 -70,66 93 46,13 -64,27 93 53,49 54,33 94 57,20 -73,71 94 78,51 -20,95 95 61,49 41,76 95 28,45 -13,28 96 38,33 37,60 96 34,18 84,76 97 38,67 56,26 97 34,08 -3,49 98 61,95 82,22 98 41,75 -11,32 99 48,54 -60,98 99 23,01 -5,09 100 45,51 58,06 100 44,86 70,05 101 45,46 51,87 101 45,26 55,32 102 35,97 -21,72 102 35,03 16,34 103 38,82 29,68 103 37,48 30,14 104 38,29 -40,13 104 28,42 29,83 105 32,97 -51,00 105 43,66 46,60 106 33,67 -52,47 106 28,62 -84,09 107 41,83 68,17 107 41,77 -71,32 108 40,98 74,27 108 57,39 74,28 109 52,03 72,39 109 47,66 -39,47 110 62,49 10,45 110 42,74 -17,45 111 55,91 -17,82 111 42,35 -62,87 112 57,34 76,00 112 50,63 -50,04
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 110 Ilustración 11: Reconstrucción 3D con las siguientes coordenadas AZ=225 EL=225 Reconstrucción por proyección:
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 111 Ilustración 12: Reconstrucción 3D con las siguientes coordenadas AZ=45 EL=25
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 112 Ilustración 13: Reconstrucción 3D con las siguientes coordenadas AZ=90 EL=75
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 113 Ilustración 14: Reconstrucción 3D con las siguientes coordenadas AZ=225 EL=225
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 114 8 Bibliografía 1. Gonzalez, R.C., Woods, R.E., Digital image processing, Addison Wesley, 2nd edition 2002 2. Gonzalez, R.C., Woods, R.E., Woods, Digital image processing using MATLAB, Upper Saddle River : Prentice Hall, cop. 2004 3. Özyurt, N., Woo, L.Y., Mason, T.O., Shah, S.P., “Monitoring Fiber Dispersion in FRCs: Comparison of AC-Impedance Spectroscopy and Image Analysis”, ACI Materials Journal, V. 103, No. 5, pp. 340-347, September-October 2006 4. Ferrara, L; Faifer,M; Toscani,S. A magnetic method for non destructive monitoring of fiber dispersion and orientation in steel fiber reinforced cementitious composites. Materials and Structures ,45:575-589, 2012. 5. Liu, J., Li, Changfeng., "Characterization of fiber distribution in steel fiber reinforced cementitious composites with low water-binder ratio", NISCAIRCSIR, pp 449-457, Dec-2011. 6. Shih, F., Image Processing and Pattern Recognition:Fundamentals and Techniques, Wiley-IEEE Press, 2010. 7. Fritz L., Hadwiger M., Geier G., Pittino G., Gröller ME., A Visual Approach to Efficient Analysis and Quantification of Ductile Iron and Reinforced Sprayed Concrete, IEEE TVCG, 15(6):1343-1350, October 2009. 8. Faifer, M., Ottoboni, R., Toscani, S., Ferrara, L., Nondestructive Testing of Steel- Fiber-Reinforced Concrete Using a Magnetic Approach, Instrumentation and Measurement, IEEE Transactions on (Volume:60 , Issue: 5 ), pp 1709 - 1717, 2011. 9. Rudzki, M., Bugdol, M., Ponikiewski, T., An Image Processing Approach to Determination of Steel Fibers Orientation in Reinforced Concrete, Information
Procesado de imagen de secciones aplicado a la reconstrucción de fibras embebidas en probeta de hormigón 115 Technologies in Biomedicine, Lecture Notes in Computer Science Volume 7339, pp 143-150, 2012. 10. Suuronen, P., Kallonen, A., Eik, M., Puttonen, J., Serimaa, R., Herrmann, H., Analysis of short fibres orientation in steel fibre-reinforced concrete (SFRC) by X-ray tomography, Journal of Materials Science (Impact Factor: 2.31); 48(3):1358-1367, 02/2013. 11. Moreno, E., Fernández, M., Dosificación de hormigón reforzado con fibras de acero, Materiales de Construcción, Vol. 47, n. 247-248, 1997. 12. López, R., Determinación de cuantía y orientación de fibras en HRFA por inducción magnética: mejora de un método existente e implantación para probetas cilíndricas, Tesis de Master, Universitat Politécnica de Catalunya, Junio de 2013.