Red de conocimiento informático - Aprendizaje de código fuente - ¡Ayuda! Preguntas sobre la mejora del algoritmo del filtro de partículas.

¡Ayuda! Preguntas sobre la mejora del algoritmo del filtro de partículas.

La idea central del algoritmo de filtro de partículas es: para resolver problemas de matemáticas o física, primero se establece un modelo de probabilidad o proceso aleatorio para que sus parámetros sean iguales a la solución del problema y luego, mediante observación o inspección por muestreo; del modelo o proceso, se calculan las propiedades estadísticas requeridas de los parámetros; finalmente se da el valor aproximado de la solución;

La idea básica del filtrado de partículas se presentará en detalle a continuación.

El filtrado de partículas es una descripción completa de la distribución de densidad de probabilidad posterior

Aquí, x0: k={xj, j=0, ..., k}, z0: k= {zj, j=0, ..., k}, representa el estado.

Muestrear directamente a partir de la probabilidad posterior p(x0:k|z1:k) es difícil. Supongamos que existe π(x), que tiene y puede muestrearse fácilmente a partir de π(x), de modo que π(x) se denomina densidad de importancia. Según la teoría bayesiana, existen:

De esta manera, el estado del sistema se puede estimar fácilmente y la ecuación de recursividad del peso se puede escribir como:

La densidad de probabilidad posterior en el momento k puede ser Aproximadamente:

1.2 Estrategia de mejora del algoritmo de filtro de partículas

El algoritmo de filtro de partículas tradicional necesita utilizar todas las partículas después de la transición de estado para la observación y el remuestreo del sistema. Esto hace que la cantidad de cálculo sea muy grande, aumenta la información de error e incluso hace que el objetivo de seguimiento se desvíe. Ante esto, el autor realizó una serie de mejoras al filtro de partículas tradicional. Al mejorar el proceso de observación del sistema, solo se seleccionan partículas localmente óptimas (es decir, partículas con pesos mayores) para la transferencia de estado en el proceso de remuestreo; este principio de optimización local también se utiliza y solo se seleccionan algunas partículas con pesos mayores; El algoritmo de filtro de partículas mejorado puede resolver en gran medida los problemas anteriores.

La Figura 1 describe el enlace de transición de estado. Las posiciones correspondientes a todas las partículas en el momento actual están distribuidas uniformemente. En la figura, "○" representa la posición real del objetivo de seguimiento en ese momento, el punto negro representa la partícula en ese momento y el tamaño del punto negro representa el tamaño del peso de la partícula.

Se puede encontrar en la figura que cuanto más cerca de "○", mayor es el peso de las partículas. Para las partículas que exceden la mitad del radio de propagación de las partículas, el peso se puede ignorar. Basándonos en este conocimiento previo, seleccionamos algunas partículas según el principio de optimización local. Cuando se utilizan partículas para la observación del sistema, las partículas se clasifican según sus pesos y solo la mitad de las partículas con pesos mayores se seleccionan, de modo que la posición de la estimación óptima se puede calcular con mucha precisión. Esta estrategia mejorada reduce el cálculo de enlaces en un 40%. La precisión del seguimiento también mejora ya que se ignoran las partículas distantes y se elimina parte de la información de error.

Una mejora en el enlace de remuestreo de partículas es que al dividir partículas, solo se selecciona la mitad de las partículas de mayor peso anteriores. El proceso de implementación de remuestreo mejorado es el siguiente: las partículas utilizadas en el proceso de observación del sistema se dividen en dos grupos en orden de tamaño. En un grupo con un peso mayor, cada partícula se dividirá en tres nuevas partículas; en un grupo con un peso menor, cada partícula generará solo una partícula nueva. Esto no sólo simplifica los cálculos y aumenta la velocidad del tiempo de ejecución, sino que también mejora la eficacia del remuestreo de partículas.

Las ventajas de este algoritmo mejorado son que (1) acerca la muestra de distribución posterior a la distribución real; (2) reduce en gran medida la cantidad de cálculo. Muchos experimentos han demostrado que el algoritmo mejorado es mejor y más robusto que el algoritmo tradicional en el seguimiento del movimiento humano.

2 Seguimiento del movimiento del cuerpo humano basado en un algoritmo de filtro de partículas mejorado

El cuerpo humano específico en el video tiene sus características de movimiento únicas y sus movimientos articulares no son rígidos. Para que el modelo de movimiento tenga una mejor aplicabilidad y una mayor precisión de predicción de movimiento, de acuerdo con los resultados del análisis estadístico, se utiliza el modelo dinámico ARP (proceso autorregresivo) de proceso autorregresivo de primer orden como modelo de movimiento, y el modelo Los parámetros se calculan a través de la secuencia de entrenamiento. Según el cálculo de similitud de la región de la plantilla, el seguimiento del movimiento humano se logra mediante el filtrado de partículas. Con base en esta idea básica, este artículo propone un diagrama de flujo del seguimiento del movimiento humano basado en el filtrado de partículas, como se muestra en la Figura 2.

2.1 Inicialización

La inicialización de seguimiento consiste en formar un conjunto de partículas que representa el modelo de distribución respectivo en el cuadro inicial de acuerdo con los requisitos del modelo de movimiento. El proceso específico es el siguiente: extraiga manualmente la plantilla de destino en el cuadro inicial de la secuencia de seguimiento y utilícela como vector de estado del cuadro inicial.

Agregue los parámetros de movimiento inicial del objetivo extraídos y el ruido aleatorio normal a cada componente del vector de estado para construir N vectores de estado, es decir, el número de partículas es N y cada partícula representa un posible estado de movimiento. Si el peso inicial ωi es 1, entonces hay N parámetros de estado de movimiento y Pi selecciona un punto cerca de Pinit.

2.2 Muestreo

El muestreo consiste en seleccionar varios vectores según la probabilidad del conjunto de vectores de estado que representan el modelo anterior. Se selecciona un vector de estado para cada muestreo y se realizan N dichos muestreos para obtener N nuevos vectores de estado. Obviamente, los vectores de estado (es decir, partículas) con pesos demasiado pequeños tienen una pequeña probabilidad de ser seleccionados durante el proceso de muestreo y pueden descartarse en el proceso de iteración paso a paso, mientras que las partículas con pesos grandes tienen una alta probabilidad de ser seleccionados y Puede ser descartado por muchos seleccionados. De esta forma, el nuevo conjunto de partículas obtenido mediante muestreo puede estimar mejor la distribución de probabilidad.

2.3 Transición de Estado

La transición de estado del sistema es el proceso de propagación de partículas. A partir del nuevo conjunto de partículas obtenido mediante muestreo, el modelo de predicción se calcula mediante el modelo de movimiento. La propagación de partículas es un proceso de movimiento aleatorio que obedece a la ecuación ARP de primer orden.

En la fórmula, xt es el estado del objetivo en el tiempo t, wt-1 es la cantidad de ruido normalizada y A y B son constantes. Aquí, el proceso de transición de estado del sistema en el momento t no tiene nada que ver con los resultados de la observación en el momento actual.

Los parámetros del estado de movimiento de la partícula Ni son:

En la fórmula, A1, A2, B1 y B2 son constantes. Generalmente, A es 1 y B es la propagación de la partícula. radio (en el sistema Durante el proceso de transición de estado, el rango dentro del cual las partículas pueden propagarse), W es un número aleatorio en [-1, 1]. La esencia de la transición de estado del sistema es agregar iterativamente una perturbación a las coordenadas.

Este paso es la propagación de probabilidades previas, es decir, "hipótesis" sobre cómo se propagará el estado objetivo. Es necesario verificar si la propagación de partículas es razonable en la siguiente etapa (es decir, observación sistemática).

2.4 Observación del sistema

El proceso de observación del sistema consiste en calcular la similitud entre el modelo de apariencia correspondiente a cada vector de estado en el modelo de predicción actual y el área correspondiente en la imagen del cuadro actual. determinado por él y asignar un peso a cada vector de estado.

Después de cada transición de estado de una partícula, se calcula un MADi con las nuevas coordenadas correspondientes.

La función de densidad de probabilidad se define como:

Se genera como resultado de seguimiento del fotograma actual.

2.5 Remuestreo

Después de completar el cálculo de seguimiento del marco actual de acuerdo con los procesos de muestreo, transferencia y observación anteriores, muestree el modelo posterior del marco actual de la misma manera para obtener El siguiente modelo anterior de marco A. A su vez, se pueden realizar nuevas predicciones y observaciones para el siguiente fotograma, y ​​los cálculos de seguimiento para secuencias posteriores pueden continuar hasta el último fotograma para completar el proceso de seguimiento.

3 Simulación y análisis experimental

3.1 Resultados de la simulación