Skip to content

Commit 4fa1e0a

Browse files
committed
secure new post
1 parent 0f802fb commit 4fa1e0a

File tree

11 files changed

+140
-0
lines changed

11 files changed

+140
-0
lines changed
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
---
2+
title: Adaptive Manifolds
3+
tags: [computer vision, image processing, geometry, divulgation]
4+
style: fill
5+
color: danger
6+
description: A little know filtering technique.
7+
---
8+
9+
![image](IMAGEN DE KEENAN)
10+
11+
# Introduction
12+
13+
Manifolds: "variedades" in spanish. ¿Qué son los manifolds? Desde una perspectiva geométrica, son las **formas** que la geometría diferencial estudia. Estas formas se caracteŕizan, de manera intuitiva, por que si no acercamos conun zoom lo suficientemne grande, es decir, en la localidad, se ven como un espacio Euclídeo ordinario. Por ejemplo, si hablamos de la superficie de la Tierra (un esferoide), estamos hablando (aproximadamente) de un manifold, pues en ella, a un nivel humano (i.e. local), no es difícil discernir bajo inspección vaga si estamos viiendo en un plano o en una superficie con vurvatura. La asunciónd e los manifolds nos permite trasladar muchas de las herramientas del mundo Euclídeo 2D a espcaios curvos,.
14+
15+
COmo objeto matemático, los manifolds generalizan la noción de superficie curva en espacios de mayor dimensión; formalmente, se definen como espacios topológicos que localmente se parecen (en cierto sentido [1]) al espacio eculídeo R^n, pero globalmente puede tenre una estructura más compleja. UN manifold de dimensión n significa que localmente se comprta como R^n; por ejemplo,. uma linea (R¹) es un manifold 1D, una superficie como una esfera (R²) es un manifold 2D y el espacio en que vivimos (R³) es un maniofld 3D.
16+
17+
Pero, en el contecto del aprendizahje automático y procesamiento de señales, los manifolds se usan para represetnar datos en espacios de alta dimesión de menra eficiente. Por ejemplo., lo spíxeles de una imagen puieden estar distributidos en un manifold dentro de un espacio de características más grande, lo que permite aplicar para la técnica de filtrado que presentaremos a continuación.
18+
19+
# Adaptive Manifold
20+
21+
Es archiconocido el hecho subyacente al párrafo anterior; las redes neuronales generan capas y capas de vectores de alta dimensión a partir de aplicar operaciones lineales y no lineales a los datos de entrada. EN este contexto, los datos pasan a ser representados en un sistema de coordenadas que mantiene una relación con el del espacio euclídeo original, pero que puede tener una estructura más compleja. Similarmente, los píxeles de una imagen no están distirbutidos de manera aleatoria, sino que tienden a organizarse en una estructura subyacente. Es posible entonces contruir un adaptive manifold de alta dimensión que funcione como una aproximación de la distribución de los píxeles en un espacio de (sus) caracteŕisticas.
22+
23+
El método Adaptive Manifolds explota esta estructura para realizar un filtrado eficiente, preservando detalles y bordes sin los altos costos computacionales de otros enfoques, como el filtro bilateral, que operan directamente ne el "espcio euclídeo" de los píxeles. A través de una jerarquía de aproximaciones adaptativas, este método permite suavizar la imagen de manera selectiva, respetando las transiciones de intensidad importantes.
24+
25+
## 1. **Construcción de la Variedad Adaptativa**
26+
Como la idea principal es representar una imagen \(u(\mathbf{x})\) en un manifold adaptativo \(\mathcal{M}\), la manera en que podemos hacer que el manifodl sea adaptativo es construirlo a través de una media ponderada (aproximación adaptativa) de la imagen:
27+
28+
\[
29+
m(\mathbf{x}) = \frac{\int_{\Omega} G_s(\mathbf{x} - \mathbf{y}) I(\mathbf{y}) w(\mathbf{y}) d\mathbf{y}}{\int_{\Omega} G_s(\mathbf{x} - \mathbf{y}) w(\mathbf{y}) d\mathbf{y}}
30+
\]
31+
32+
Donde:
33+
34+
- **\( I(\mathbf{x}) \)** es el valor de la imagen en el píxel **\( \mathbf{x} \)**.
35+
- **\( G_s(\mathbf{x} - \mathbf{y}) \)** es un filtro Gaussiano que suaviza la imagen en función de la distancia espacial entre los píxeles **\( \mathbf{x} \)** y **\( \mathbf{y} \)**. La desviación estándar **\( \sigma_s \)** controla el suavizado espacial.
36+
- **\( w(\mathbf{y}) \)** es una función de peso que controla la influencia de cada píxel **\( \mathbf{y} \)** en la aproximación.
37+
- **\( \Omega \)** es el dominio de la imagen.
38+
39+
Esta ecuación define una **media ponderada adaptativa** de la imagen, lo que permite que la imagen se suavice de manera que respete las transiciones de intensidad importantes, preservando bordes y detalles.
40+
41+
## 2. **División en Máscaras Adaptativas**
42+
43+
El siguiente paso en el filtro es dividir la imagen en dos regiones basadas en la comparación con la media adaptativa **\( m(\mathbf{x}) \)**. Esto se hace para permitir un tratamiento diferente de las áreas de la imagen según su relación con la intensidad media adaptativa.
44+
45+
- **Máscara Baja**: La región donde los valores de la imagen son menores o iguales a la media adaptativa \( m(\mathbf{x}) \):
46+
47+
\[
48+
M_{\text{low}}(\mathbf{x}) = 1 \, \text{si} \, I(\mathbf{x}) \leq m(\mathbf{x})
49+
\]
50+
51+
- **Máscara Alta**: La región donde los valores de la imagen son mayores a la media adaptativa \( m(\mathbf{x}) \):
52+
53+
\[
54+
M_{\text{high}}(\mathbf{x}) = 1 - M_{\text{low}}(\mathbf{x})
55+
\]
56+
57+
Esta segmentación permite tratar cada región de forma separada, lo que facilita la preservación de bordes en las transiciones de intensidad.
58+
59+
60+
## 3. **Proyección en la Variedad Adaptativa**
61+
62+
Una vez que la imagen se ha segmentado en las regiones baja y alta, cada punto de la imagen se proyecta en la variedad adaptativa utilizando un peso basado en la diferencia de intensidad entre el píxel actual **\( I(\mathbf{x}) \)** y la media adaptativa **\( m(\mathbf{x}) \)**:
63+
64+
\[
65+
w(\mathbf{x}) = \exp \left( -\frac{(I(\mathbf{x}) - m(\mathbf{x}))^2}{\sigma_c^2} \right)
66+
\]
67+
68+
Donde **\( \sigma_c \)** controla la sensibilidad a las diferencias de intensidad.
69+
70+
El resultado es una convolución con el filtro Gaussiano \( G_s \):
71+
72+
\[
73+
I'(\mathbf{x}) = \frac{\int_{\Omega} G_s(\mathbf{x} - \mathbf{y}) w(\mathbf{y}) I(\mathbf{y}) d\mathbf{y}}{\int_{\Omega} G_s(\mathbf{x} - \mathbf{y}) w(\mathbf{y}) d\mathbf{y}}
74+
\]
75+
76+
Esta ecuación realiza una **interpolación ponderada** sobre la variedad adaptativa, con el fin de suavizar la imagen sin perder detalles importantes.
77+
78+
79+
## 4. **Filtrado Recursivo sobre la Variedad**
80+
81+
Para mejorar la calidad del filtrado, se aplica de manera recursiva en múltiples niveles de profundidad **\( d \)**:
82+
83+
\[
84+
I_{d+1}(\mathbf{x}) = I_d(\mathbf{x}) + I_{\text{low}}(\mathbf{x}) + I_{\text{high}}(\mathbf{x})
85+
\]
86+
87+
Donde:
88+
89+
- **\( I_{\text{low}}(\mathbf{x}) \)** y **\( I_{\text{high}}(\mathbf{x}) \)** son los componentes filtrados en cada nivel.
90+
- Se combinan los resultados de forma jerárquica.
91+
92+
Esta recursividad permite refinar el filtrado a medida que se realizan más iteraciones.
93+
94+
## 5. **Comparación con el Filtro Bilateral**
95+
96+
El filtro bilateral es otro método popular para suavizar imágenes mientras preserva los bordes. Sin embargo, el filtro bilateral es menos eficiente porque realiza el cálculo de la distancia en un espacio de mayor dimensión. La ecuación del filtro bilateral es la siguiente:
97+
98+
\[
99+
I'(\mathbf{x}) = \sum_{\mathbf{y} \in \Omega} G_s(\mathbf{x} - \mathbf{y}) G_c(I(\mathbf{x}) - I(\mathbf{y})) I(\mathbf{y}),
100+
\]
101+
102+
donde:
103+
104+
- **\( G_c \)** es un filtro Gaussiano en el dominio espacial que atenúa los píxeles que están más alejados entre sí.
105+
- **\( G_c \)** es un filtro Gaussiano en el dominio de intensidad, que suaviza las diferencias de intensidad.
106+
107+
La diferencia clave entre el filtro bilateral y el Adaptive Manifold Filter es que este último evita trabajar directamente en el espacio de alta dimensión de las intensidades de los píxeles. En cambio, utiliza una representación adaptativa de la imagen, lo que permite realizar el filtrado de manera más eficiente sin perder preservación de detalles y reduciendo los costos computacionales.
108+
109+
Para sigma_s=5.0, sigma_c=0.1, añadiendo ruido Gaussiano N(0,0.05) Y Poisson A LA IMAGEN ORIGINAl, estos son los resultados de PSNR y tiempo de ejecución:
110+
111+
![original](./orig.png)
112+
113+
![noisy1](./noisy1.png)
114+
115+
![am1](./am1.png)
116+
117+
![bilat1](./bilat1.png)
118+
119+
Para sigma_s=7.0, sigma_c=0.25, añadiendo ruido Gaussiano N(0,0.25) Y Poisson:
120+
121+
![noisy](./noisy.png)
122+
123+
![am](./am.png)
124+
125+
![bilat](./bilat.png)
126+
127+
Para sigma_s=5.0, sigma_c=0.5, añadiendo ruido Gaussiano N(0,0.25), Impulsional (p=0.02) Y Poisson:
128+
129+
![noisy2](./noisy2.png)
130+
131+
![am2](./am2.png)
132+
133+
![bilat2](./bilat2.png)
134+
135+
136+
# Conclusión
137+
138+
Ante niveles altos de ruido, se nota una dominancia del método adaptive manifold sobre el bilateral, algo muy interesante. Ante niveles bajos, el biltro filateral puede filtrar mejor con kernels pequeños, pero si lo que se desea es eficiencia computacional, adaptive manifold es la opción a elegir.
139+
140+
[1] Keenan Crane, DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION, 2023 p. 9
669 KB
Loading
424 KB
Loading
743 KB
Loading
732 KB
Loading
453 KB
Loading
805 KB
Loading
868 KB
Loading
538 KB
Loading
911 KB
Loading

0 commit comments

Comments
 (0)