5 minute read

Esta semana he modificado el programa para maximizar el solapamiento entre dos imágenes mediante transformaciones geométricas. Para probar la robustez del porgrama, se ha añadido ruido de tipo gaussiano de diferentes densidades a ambas imágenes. Las densidades usadas son: [0.0005, 0.001, 0.003, 0.005, 0.01, 0.02, 0.03, 0.05]

Los experimentos realizados demuestran que el método basado en solape de máscaras binarias mantiene estable la estimación de la transformación geométrica incluso bajo niveles elevados de ruido gaussiano. No obstante, el valor de IoU disminuye progresivamente a medida que aumenta la varianza del ruido, especialmente cuando este afecta simultáneamente a la imagen grande y al patch. La degradación se vuelve apreciable a partir de varianzas en torno a 0.02–0.03, mientras que para niveles bajos y moderados el solape permanece prácticamente inalterado.


Big con ruido y patch limpio

Ruido (var) IoU
0.0005 0.999100
0.0010 0.999038
0.0030 0.998805
0.0050 0.998696
0.0100 0.997626
0.0200 0.991461
0.0300 0.972375
0.0500 0.869512

Big limpio y patch con ruido

Ruido (var) IoU
0.0005 0.999317
0.0010 0.999116
0.0030 0.998418
0.0050 0.998201
0.0100 0.996898
0.0200 0.989885
0.0300 0.970957
0.0500 0.855088

Big y patch con ruido

Ruido (var) IoU
0.0005 0.999193
0.0010 0.999177
0.0030 0.998309
0.0050 0.998076
0.0100 0.996229
0.0200 0.987611
0.0300 0.961550
0.0500 0.798556

Visualmente se puede apreciar que el solape se realiza de manera correcta, incluso con ruido. La siguiente composición es el resultado del solape en el peor de los casos, big y patch con ruido, con un IoU de aproximadamente 0.79.

COMPARACION


Siguiendo con la línea de investigación, hasta ahora se han realizado pruebas con una única máscara binaria para medir el solape entre imágenes. Sin embargo, debido a la naturaleza de nuestras imágenes (segmentaciones LiDAR y cámara RGB), es necesario pasar a una máscara multiclase. Para ello partimos de la imagen sintética de las figuras geometricas donde cada objeto representa una clase semántica diferente. A diferencia de los experimentos anteriores, en los que el algoritmo maximiza el solape de una máscara binaria global, en este nuevo enfoque se calcula el solape considerando múltiples clases simultáneamente.

De esta manera, el proceso de alineamiento busca la transformación geométrica que maximiza el solape entre regiones de la misma clase, lo que nos acerca al problema real de alineamiento entre segmentaciones LiDAR y RGB.

Para cada clase se mide el solape entre la máscara proyectada y la máscara de referencia, y posteriormente se combinan los resultados de todas las clases mediante una ponderación. De esta forma, se obtiene un único valor global que sireve para evaluar la calidad del alineamiento teniendo en cuenta la contribución de cada clase.

En el pipeline propuesto se emplean dos estrategias distintas para medir el solape, una en la fase de búsqueda gruesa (coarse) y otra en la fase de refinamiento (refined). En la etapa coarse, se maximiza un score basado en correlación normalizada por clase utilizando cv2.matchTemplate(…, TM_CCORR_NORMED). En la etapa refined se optimiza una métrica más precisa basada en la IoU (Intersection over Union) multiclase ponderada. Para cada clase, la IoU se calcula como la división entre la intersección y la unión de las máscaras correspondientes. Los errores o no-solapes no se introducen como una penalización explícita, sino que afectan indirectamente al valor de la métrica: incrementan la unión sin aumentar la intersección, lo que provoca una disminución de la IoU.

Además, se introduce un esquema de pesos por clase w_c para equilibrar su influencia en el resultado final. Estos pesos dependen de la proporción de cada clase en el patch y se realiza de manera automática. Si una clase no aparece, su peso es cero; si ocupa poca área, su peso es mayor; y si ocupa una región extensa, su peso es menor. De este modo, las clases más pequeñas y potencialmente más discriminativas tienen mayor impacto en la evaluación. Como consecuencia, no todas las equivocaciones penalizan por igual, ya que el error en cada clase queda modulado por su peso correspondiente.


Con este nuevo enfoque, se han probado diferentes recortes para comprobar el funcionamiento del algoritmo.

Prueba 1

COMPARACION COMPARACION

Prueba 2

COMPARACION COMPARACION

Para comprobar la robustez del algoritmo frente al ruido se han repetido las pruebas anteriroes añadiendo ruido de manera gradual al par de imágenes de la prueba 1 mencionada anteriormente. Para analizar de manera más fiel los resultados se recogen en las siguientes tablas las medidas y su métrica de calidad correspondientes a la búsqeuda gruesa (Coarse) y en el refinamiento (refined). Los resultados completos están aquí.

Coarse score vs Ruido

total_noise coarse_score
0.0005 0.9747
0.0005 0.9714
0.0010 0.9625
0.0010 0.9684
0.0010 0.9470
0.0020 0.9325
0.0030 0.9608
0.0030 0.9518
0.0050 0.9471
0.0050 0.9578
0.0060 0.9147
0.0100 0.9387
0.0100 0.9075
0.0100 0.9504
0.0200 0.9296
0.0200 0.9164
0.0200 0.8926
0.0300 0.8894
0.0300 0.9007
0.0400 0.8532
0.0500 0.8291
0.0500 0.8401
0.0600 0.8022
0.1000 0.6979

Refined IoU vs Ruido

total_noise refined_iou
0.0005 0.9531
0.0005 0.9469
0.0010 0.9319
0.0010 0.9426
0.0010 0.9165
0.0020 0.8985
0.0030 0.9303
0.0030 0.9143
0.0050 0.9066
0.0050 0.9253
0.0060 0.8778
0.0100 0.8918
0.0100 0.8686
0.0100 0.9121
0.0200 0.8731
0.0200 0.8504
0.0200 0.8457
0.0300 0.8013
0.0300 0.8203
0.0400 0.7792
0.0500 0.7001
0.0500 0.7176
0.0600 0.6976
0.1000 0.5515

Los resultados muestran que el método presenta un comportamiento coherente frente al ruido en sus dos etapas. Por un lado, la búsqueda gruesa (coarse) se degrada de forma suave, lo que indica una alta robustez para la localización incluso en presencia de perturbaciones. Por otro lado, la fase de refinamiento (refined) experimenta una degradación más fuerte, ya que, utiliza una métrica basada en IoU que evalúa el solape real entre regiones y, por tanto, es más sensible al ruido. Este comportamiento confirma el funcionamiento esperado de un esquema coarse-to-fine, donde la primera etapa asegura una localización robusta y la segunda proporciona una evaluación más precisa del alineamiento incluso con ruido. El resultado en el caso de las imágenes más perjudicadas por ruido se sigue obteniendo un solape correcto aunque visualmente degradado.

COMPARACION


Una vez probado el algortimo con imágenes sintéticas y comprobado su robustez al ruido que pueda aparecer en entornos reales, se han realizadao pruebas con segmentaciones reales. Las clases y los pesos correspondientes se han modificado respecto a las pruebas con imágenes sintéticas. El resultado visual es aceptable y el solape se realiza de manera correcta.

COMPARACION COMPARACION


A su vez, esta semana he seguido probando el algoritmo de calibración basado en pérdida de alineación semnántica con el dataset de RELLIS, con el objetivo de, al finalizar con todas los pares de imágenes, sacar conclusiones sobre qué clases serían más interesantes utilizar para realizar estas calibraciones. Además he continuado con el etiquetado del dataset de basuras.