Algoritmo de proyección en escala de grises con tecnología de estabilización de imagen electrónica

Introducción a los antecedentes

La vibración aleatoria de un automóvil tiene las siguientes características:

1. La vibración no tiene un período fijo y no se puede predecir la amplitud, velocidad y aceleración en un momento determinado t.

2. Las pruebas se realizan en las mismas condiciones y los resultados registrados cada vez no pueden ser completamente consistentes.

3. Las vibraciones de alta frecuencia de los automóviles provocan desenfoque dentro del fotograma en las imágenes de la cámara, y las vibraciones de baja frecuencia provocan desenfoque entre fotogramas.

Debido a las características inherentes y las características técnicas de la tecnología de estabilización de imagen electrónica, la tecnología de estabilización de imagen electrónica es difícil de adaptar a la fluctuación a gran escala. Los algoritmos de estabilización de imagen electrónica generalmente se utilizan como estabilización secundaria después de la plataforma giroestabilizada o la fluctuación aleatoria del portador. con una fluctuación relativamente pequeña. Para escenas de cámaras montadas en vehículos o escenas de cámaras fijas son más adecuadas.

Los experimentos muestran que el algoritmo de proyección en escala de grises es eficaz para eliminar o reducir la fluctuación aleatoria del portador (pequeño movimiento de traslación o rotación) y reducir el fenómeno de fluctuación de la secuencia de imágenes después de la estabilización electrónica de la imagen.

Algoritmo electrónico de estabilización de imagen-algoritmo de proyección en escala de grises

Los algoritmos electrónicos de estabilización de imagen incluyen principalmente el método de coincidencia de bloques (BMP), el método de punto representativo (RPMA), el método de plano de bits (BPM), el método de flujo óptico y el método de proyección en escala de grises (GPA). Según las características de la serie de imágenes del vehículo, se utiliza un algoritmo de proyección en escala de grises . El algoritmo de proyección en escala de grises utiliza las curvas de proyección en escala de grises de dos cuadros de imágenes para realizar cálculos de correlación cruzada, lo que puede obtener con mayor precisión el vector de movimiento de la imagen y la velocidad de cálculo es rápida.

1. Mapeo de proyección en escala de grises

Cada cuadro de una imagen bidimensional se descompone en dos vectores unidimensionales independientes en las direcciones horizontal y vertical. La fórmula de proyección en escala de grises de la imagen del cuadro k-ésimo:

G k ( y ) = ∑ x G k ( x , y ) G k ( x ) = ∑ y G k ( x , y ) G_{k}(y)=\sum_{x}G_{k}(x, y)\\ G_{k}(x)=\sum_{y}G_{k}(x,y)GRAMOk( y )=XGRAMOk( x ,y )GRAMOk( x )=yGRAMOk( x ,y )

G k ( x , y ) G_{k}(x,y)GRAMOk( x ,y ) esxxx y y Valor de píxel de la columna y , G k (y) G_k(y)GRAMOk(y) y y Suma acumulada de píxeles en la columna y .
Insertar descripción de la imagen aquí
Insertar descripción de la imagen aquí

2. Filtrado de proyección de curvas.

Cada cuadro de imagen contiene información de borde única. Cuando el desplazamiento entre cuadros adyacentes es grande, el valor mínimo de la curva de cálculo de correlación cruzada se verá afectado por la información de borde de la imagen, lo que resultará en una disminución en la precisión del cálculo. El filtrado de coseno puede reducir el impacto de la información del borde y retener la información de proyección en escala de grises 1 en el medio de la imagen. Este método es una de las mejores opciones para mejorar la precisión de la estimación .

El efecto de filtrado de proyección es bueno y la cantidad de cálculo es pequeña, pero la operación es complicada para FPGA. Dado que la ocupación de recursos lógicos es difícil de estimar, para garantizar la precisión, utilice la parte de imagen intermedia no afectada tanto como sea posible. al realizar el procesamiento de imágenes .

3. Cálculo de correlación cruzada de proyección.

Después del proceso de filtrado de proyección, las formas de onda grises mapeadas suavizadas del fotograma actual y el marco de referencia se correlacionan de forma cruzada, y las curvas de proyección del fotograma actual y el marco de referencia coinciden, y finalmente las curvas de correlación cruzada de filas y columnas son obtenido. Al encontrar los puntos extremos de la curva, se pueden determinar los vectores de desplazamiento de movimiento en las direcciones horizontal y vertical de la imagen.

Hay muchas formas de calcular la correlación cruzada. La siguiente fórmula es un método para calcular la diferencia que se utiliza a menudo en los artículos:

C orrow ( u ) = ∑ x = 1 H ( G k ( x + u ) − G k − 1 ( x + m ) ) 2 , 1 ≤ u ≤ 2 m + 1 C orcol ( v ) = ∑ y = 1 W ( G k ( y + v ) − G k − 1 ( y + n ) ) 2 , 1 ≤ v ≤ 2 n + 1 Cor_{row}(u)=\sum_{x=1}^{H}( G_{k}(x+u)-G_{k-1}(x+m))^{2} ,1\leq u\leq2m+1 \\ Cor_{col}(v)=\sum_{y= 1}^{W}(G_{k}(y+v)-G_{k-1}(y+n))^{2} ,1\leq v\leq2n+1 \\C o rfila _( )=x = 1h( GRAMOk( x+)GRAMOk - 1( x+m ) )2 ,1tu2m_ _+1C o rcol _( v )=y = 1W( GRAMOk( y+v )GRAMOk - 1( y+norte ) )2 ,1v2 norte+1

Entre ellos, G k G_{k}GRAMOkRepresenta el cuadro actual, G k − 1 G_{k-1}GRAMOk - 1representa el marco de referencia, H representa la altura de la imagen, W representa el ancho de la imagen, C orrow (u) Cor_{row}(u)C o rfila _( u ) representa el valor de correlación cruzada de filas en la posición u. myn representan el ancho de búsqueda en las direcciones vertical y horizontal. Cuanto mayor sea el rango de búsqueda, mejor será el rendimiento de estabilización de imagen del sistema y mayor será la cantidad de cálculo.

Quejémonos: 1. Muchos artículos utilizan la diferencia entre las curvas de proyección en escala de grises de las filas del marco actual y el marco de referencia para calcular la correlación cruzada. Cuanto menor sea el resultado de la correlación cruzada, más consistentes serán los dos segmentos de línea de contraste, es decir , buscando el valle de la curva de correlación cruzada ;

2. Hay muchos errores en las fórmulas de cálculo de correlación cruzada que muchos artículos quieren expresar aquí y, lo que es más importante, no comprenden el significado de los parámetros en las fórmulas, lo que da como resultado fórmulas llenas de errores.

La siguiente figura es una curva de correlación cruzada calculada utilizando la función xcorr de Matlab: encuentre la suma de los productos de la curva de proyección en escala de grises, encuentre el valor máximo de la curva de correlación cruzada y luego analice el desplazamiento de movimiento del valor máximo.

Insertar descripción de la imagen aquí

4. Algoritmo de compensación de movimiento

Debido al error acumulado generado por los fotogramas adyacentes, la compensación fotograma por fotograma puede provocar que falle la estabilización de la imagen. Una vez que la imagen sale del área del fotograma fijo, el algoritmo de compensación de fotograma fijo provocará una falta de coincidencia de la imagen. De acuerdo con las ventajas y desventajas de los algoritmos de compensación de marco fijo y marco adyacente, se establecen las condiciones para reemplazar el marco fijo para compensar las deficiencias entre los dos.

La diferencia entre la imagen en escala de grises del cuadro actual y el cuadro de referencia generalmente se usa como un umbral fijo para determinar si se debe cambiar el cuadro de referencia, lo cual no es adecuado para el trasplante de hardware. Pero establecer el umbral mediante un contador es una buena solución. Cuente la secuencia de video de entrada y, cuando el contador exceda un cierto número, use el siguiente cuadro como nuevo cuadro de referencia.

Optimización posterior

Sin embargo, el método tradicional de proyección en escala de grises requiere que los cambios en la escala de grises de la imagen sean ricos y tengan cierto contraste. Además, el método de proyección tradicional proyecta la imagen completa en filas y columnas. Si hay objetos en movimiento locales en la imagen, la precisión del algoritmo de proyección se reducirá.

1. El filtrado mediano mejora la precisión de la proyección

Filtre las imágenes recopiladas para eliminar el ruido y mejorar la precisión de la proyección de la imagen, utilizando el método de filtrado mediano 3x3.

2. Procesamiento de mejora de ecualización de histograma

El procesamiento de imágenes requiere un cierto contraste. Utilice la ecualización de histograma en escala de grises para lograr una mejora del contraste, imágenes claras y una fácil detección del movimiento entre cuadros en secuencias de imágenes.

3. El movimiento local en la imagen lleva a juzgar erróneamente como movimiento global.

Caso 1: (La imagen no tiembla y el movimiento de los objetos en la imagen se considera erróneamente como imagen temblorosa)

Caso 2: (La imagen tiembla y el movimiento de los objetos en la imagen tiene un cierto impacto en el algoritmo de proyección en escala de grises)

El caso 1 es básicamente el mismo que el caso 2. En la etapa inicial, cuando el objeto ingresa a la imagen, el área de cambio de escala de grises es pequeña y no afecta el algoritmo de proyección en escala de grises.

Demostración del efecto de simulación del algoritmo de proyección en escala de grises

Efecto del algoritmo original (a la izquierda está el video original, a la derecha está el resultado de la estabilización de imagen):

coche_GP

Efecto de optimización del algoritmo (la izquierda es el video original, la derecha es el resultado de la estabilización de imagen): cálculo más preciso de los desplazamientos de filas y columnas, que lleva más tiempo calcular.

coche_GP_imp

Ruta del código de prueba:

https://github.com/AomanHao/ISP_Video_Stabilization

referencias:

"Investigación sobre tecnología de estabilización electrónica de imágenes basada en FPGA"

"Un método electrónico de estabilización de imagen montado en un vehículo basado en un algoritmo de proyección en escala de grises"

La página de inicio de mi blog personal, bienvenido a visitarla.

Mi página de inicio de CSDN, bienvenido a visitarla

Mi página de inicio de GitHub, bienvenido a visitarla

Mi página de inicio de Zhihu, bienvenido a visitarla

Supongo que te gusta

Origin blog.csdn.net/Aoman_Hao/article/details/128909601
Recomendado
Clasificación