El algoritmo de caminante aleatorio (Página en cs.ualberta.ca) es un algoritmo de segmentación semi-supervisado, ya que necesita que el usuario marque las regiones semilla. Estos están en forma de marcas aleatorias en regiones que el usuario quiere pertenecer a diferentes segmentos.
Una vez que tiene esa información, el algoritmo etiqueta cada píxel sin etiquetar. Por cada píxel sin etiquetar [matemática] x [/ matemática] se inicializa un andador aleatorio que es libre de ir a cualquier parte de la imagen (restringido por la cuadrícula de 4 píxeles conectados). Las probabilidades se calculan para el caminante aleatorio que toca primero cada región de semillas. [math] x [/ math] obtiene la etiqueta correspondiente a la mayor probabilidad.
Por supuesto, el caminante aleatorio debe estar influenciado por la imagen subyacente, de lo contrario, la segmentación sería la misma para todas las imágenes siempre que tengan la misma semilla. Entonces agregan un costo por caminar de un píxel a otro que es [matemático] w_ {ij} = \ exp \ left (- \ beta \ left (g_i – g_j \ right) ^ 2 \ right) [/ math], donde [math] \ beta [/ math] es un parámetro libre.
- ¿Cuál es la forma más eficiente de implementar la unión en varias tablas (> 5 tablas) usando SQL / ANSI SQL?
- ¿Está bien inicializar una matriz que contiene fracciones en c ++?
- Cómo escribir un programa en C para buscar los elementos usando el orden de fusión
- ¿Debo aprender algoritmos y estructuras de datos de cada lenguaje de programación?
- ¿Cuál es la mejor fuente en línea para el aprendizaje de algoritmos?
El truco del algoritmo radica en encontrar una manera eficiente de resolver este gran problema, porque inicializar un andador aleatorio para cada píxel sin etiquetar y dejarlo caminar libremente hasta que llegue a una semilla es computacionalmente prohibitivo. Formulan esto como resolver un problema de Dirichlet. En su formulación, esto se reduce a resolver un gran sistema lineal de ecuaciones.