Skip to content

Commit efd1f03

Browse files
committed
copia seg nuevos posts
1 parent c699376 commit efd1f03

File tree

5 files changed

+105
-2
lines changed

5 files changed

+105
-2
lines changed

_posts/2025-01-30-conformal-prediction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Conformal Prediction
3-
tags: [math, machine learning]
3+
tags: [math, machine learning, divulgation]
44
style: fill
55
color: success
66
description: Quantifying uncertainity in Machine Learning
@@ -147,4 +147,4 @@ Conformal prediction provides an accurate approach to measuring uncertainty in m
147147

148148
[9] [Valeriy Manokhin's course](https://maven.com/valeriy-manokhin/applied-conformal-prediction).
149149

150-
[10] [Catherine Graham's article](https://hub.jhu.edu/2024/10/01/waistline-ai-bmi/).
150+
[10] [Catherine Graham's article](https://hub.jhu.edu/2024/10/01/waistline-ai-bmi/).

_posts/XXXX-XX-XX-level-sets.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: Linux tree
3+
tags: [Linux, programming, divulgation]
4+
style: fill
5+
color: success
6+
description: Briefly analyzing Linux tree structure
7+
---
8+
9+
# Introduction
10+
11+
Este concepto se comprende de manera muy intuitica; imaginémonos una imagen como una montaña. La montaña no es una parábola invertida perfecta, por el contrario, tiene un gran relieve y textura; hay pequeñas y grandes piedras en el camino, badenes y resaltes, la grava y arena actúan como sumideros, formaciones rocosas craen distintos niveles en el terreno, hay incluso ríos y meandros que hacen vbarian la altura media de la superficie montañosa, etc. Cuando llueve, experimentamos que algunas zonas se van "llenando" antres que otras. Si hacemos un poco de geongeniería y logramos provocar lluevia durante un lapso controlado de tiempo, veremos que se habrán formado múltiples caminos de agua en la montaña, cada uno discurriendo por distintos lugares pero conectados a través de las conexiones de las moléculas de agua dentro de un mismo caudal. Cada camino de igual caudal se pude ver como un level set.
12+
13+
En imagen digital, su dominio (típicametne cuadriculado) se mapea en un conjunto de valores discreto, e.g. {0, 255} si tratamos con niveles de intensidad en grises. Haciendo "zoom" a una imagen podremos ver que existen caminos de "mismo nivel de gris", algunos más extendidos que otros. Cada uno de estos caminos, formado por píxeles conectados bajo cierta noción de vecindad, se denominan level sets. EN este post veremos por qué son tan importantes y alguno de sus usos más extendidos.
14+
15+
# ¿Para qué queremos los level sets?
16+
17+
Tomemos como prueba esta imagen:
18+
19+
<img src="../assets/blog_images/2025-01-30-conformal-prediction/squares/original.png" alt="original" width=500 align="center">
20+
21+
Cuántos level sets podrá tener? Fácil, 4, si contamos el borde (extreior) de la imagen,. Y podemos dibujasrlos:
22+
23+
<img src="../assets/blog_images/2025-01-30-conformal-prediction/squares/displayImage.png" alt="displayImage" width=500 align="center">
24+
25+
Ya está, esta imagen no tiene más level sets (creamos que el color es realmente uniforme al ser generada sintétciamente, y no hagamos zoom mucho en ella...).
26+
27+
...
28+
29+
Los level sets son sumamente importantes en procesamiento de imagen desde una perspefctiva variacional.
30+
31+
La fórmula de co-área nos dice que BLABLABLA.
32+
FORMULA
33+
34+
Esto nos dice que el perímetro de los level sets y la variación total BLABLA don ciertamente equivalentes.
35+
36+
The level set formulation is based on the observation that **a closed curve can be seen/described as a zero level/crossing of a function in a higher dimension** and it allows major simplification. Hoy día, esta es una manera ampliamente utilizada para hacer evolucionar numerically curves and surfaces [4].
37+
38+
Por ejemplo, una curva en R² se puede representar como la zero-level linea de una función R²->R, e.g. la signed distance to the curve, negative inside and positive outside:
39+
40+
<img src="../assets/blog_images/2025-01-30-conformal-prediction/squares/ls.png" alt="lsa" width=500 align="center">
41+
42+
## Segmentation
43+
44+
El propósito principal de la segmentación es encontrar los contornos de los objetos en las imágenes. Dos paradigmas de segmentación de imagen clásicos son los modelos paramétricos (como las snakes de Kass, Witkin, and Terzopoulos) [5] y los *geometric deformable models* (como los *Geodesic Active Contours* [GAC] de Caselles, Kimmel, and Sapiro) [1-3]. Los últimos se formulan para lidiar con las limitaciones de los primeros y se basan en la evolución de curvas (o superficies) con una formulación fundamentada en *level sets*. Esta evolución está guiada por medidas geométricas.
45+
46+
Así, el propóstio principal de la segmentacíon emdainte GAC y level sets es modelar los contornos de los objetos como curvas que (típicamente) deben moverse con cierta velociad para match the highest gradients.
47+
48+
El problema es que puede ser costoso lidiar con la evolución de la curva en la imagen de manera explícita (o sea, parametrizando la curva y disrectizando sus ecuaciones); por eso una de las principales ventajas de GAC es que puede formularse como un problem de *level sets*, que afronta esa dificultad. Un *level set* \( \phi \) puede definirse de la siguiente forma:
49+
50+
- \( \phi(x, y) = 0 \) para todos los puntos \( (x, y) \) que se encuentran en la curva.
51+
- \( \phi(x, y) > 0 \) para los puntos que están dentro de la región delimitada por la curva.
52+
- \( \phi(x, y) < 0 \) para los puntos que están fuera de la región delimitada por la curva.
53+
54+
Gracias a esta representación implícita, se pueden calcular atributos geométricos importantes como la normal unitaria a la curva, que se obtiene mediante:
55+
\[
56+
N = \frac{\nabla \phi}{|\nabla \phi|}
57+
\]
58+
2. **La curvatura media** \( \kappa \), que está dada por la divergencia de la normal unitaria:
59+
\[
60+
\kappa = \nabla \cdot N = \text{div} \left( \frac{\nabla \phi}{|\nabla \phi|} \right)
61+
\]
62+
63+
El método de *Geodesic Active Contours* se basa en una ecuación de evolución de la forma:
64+
65+
\[
66+
\frac{\partial \phi}{\partial t} = g(I) \left( |\nabla \phi| \cdot \text{div} \left( \frac{\nabla \phi}{|\nabla \phi|} \right) \right) + c g(I) |\nabla \phi|,
67+
\]
68+
69+
donde:
70+
- \( g(I) \) es una función basada en el gradiente de la imagen que actúa como criterio de parada, es decir, frena la evolución cuando la curva se encuentra con un borde fuerte.
71+
- La primera parte de la ecuación contiene el término de curvatura media, que suaviza la curva.
72+
- La segunda parte contiene un término de velocidad normal \( V \), que mueve la curva según el contenido de la imagen.
73+
74+
Esta formulación permite que la curva evolucione de manera flexible, dividiéndose o fusionándose sin necesidad de intervención explícita. Así, el método basado en *level sets* supera las limitaciones de los métodos paramétricos tradicionales en la segmentación de imágenes. El modelo de Geodesic Active Contour depende en gran medida de la información de los bordes de la imagen, por lo que prácticamente no es aplicable en imágenes que no tienen bordes bien definidos. El modelo pionero de Chan-Vese es una variante de los Active Contours y puede aplicarse sin necesidad de bordes.
75+
76+
# References
77+
78+
[1] J.A. Sethian, Level Set Methods and Fast Marching Methods: Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer vision, and Materials Science (Cambridge university press, Cambridge, 1999)
79+
[2] S. Osher, R. Fedkiw, Level Set Methods and Dynamic Implicit Surfaces (Springer, Berlin, 2002)
80+
[3] R. Kimmel, Numerical Geometry of Images: Theory, Algorithms, and Applications (Springer, Berlin, 2012)
81+
[4] Guy Gilboa non linear pag 29
82+
[5] Mathematical problems in image processing pag 173
83+
84+
85+
86+

_posts/XXXX-XX-XX-linux-tree.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Linux tree
3+
tags: [Linux, programming, divulgation]
4+
style: fill
5+
color: success
6+
description: Briefly analyzing Linux tree structure
7+
---
8+
9+
# Introduction
10+
11+
A
12+
13+
# References
14+
15+
A
16+
17+
24.4 KB
Loading
3.6 KB
Loading

0 commit comments

Comments
 (0)