stringtranslate.com

Mapa de prominencia

Una vista del fuerte de Marburg (Alemania) y la prominencia Mapa de la imagen usando color, intensidad y orientación.

En visión por computadora , un mapa de prominencia es una imagen que resalta la región en la que se enfocan primero los ojos de las personas o las regiones más relevantes para los modelos de aprendizaje automático . [1] El objetivo de un mapa de prominencia es reflejar el grado de importancia de un píxel para el sistema visual humano o un modelo de aprendizaje automático que de otro modo sería opaco.

Por ejemplo, en esta imagen, una persona primero mira el fuerte y las nubes claras, por lo que deberían resaltarse en el mapa de prominencia. Los mapas de prominencia diseñados con visión artificial o por computadora no suelen ser los mismos que el mapa de prominencia real construido mediante visión biológica o natural .

Solicitud

Descripción general

Los mapas de prominencia tienen aplicaciones en una variedad de problemas diferentes. Algunas aplicaciones generales:

Ojo humano

Inteligencia artificial explicable

La prominencia como problema de segmentación

La estimación de prominencia puede verse como un ejemplo de segmentación de imágenes . En visión por computadora , la segmentación de imágenes es el proceso de dividir una imagen digital en múltiples segmentos (conjuntos de píxeles, también conocidos como superpíxeles). El objetivo de la segmentación es simplificar y/o cambiar la representación de una imagen en algo que sea más significativo y más fácil de analizar. La segmentación de imágenes se utiliza normalmente para localizar objetos y límites (líneas, curvas, etc.) en imágenes. Más precisamente, la segmentación de imágenes es el proceso de asignar una etiqueta a cada píxel de una imagen de modo que los píxeles con la misma etiqueta compartan ciertas características. [7]

Algoritmos

Descripción general

Hay tres formas de algoritmos clásicos de estimación de prominencia implementados en OpenCV :

Además de los enfoques clásicos, también son populares los basados ​​en redes neuronales . Hay ejemplos de redes neuronales para la estimación de la prominencia del movimiento:

Implementación de ejemplo

Primero, debemos calcular la distancia de cada píxel al resto de píxeles del mismo cuadro:

es el valor de píxel , en el rango de [0,255]. La siguiente ecuación es la forma ampliada de esta ecuación.

SALS( I k ) = | Yo k - yo 1 | + | Yo k - yo 2 | + ... + | Yo k - yo norte |

Donde N es el número total de píxeles en el fotograma actual. Entonces podremos reestructurar aún más nuestra fórmula. Juntamos el valor que tiene el mismo I.

SALS( I k ) = Σ F n × | Yo k - yo norte |

Donde F n es la frecuencia de In . Y el valor de n pertenece a [0,255]. Las frecuencias se expresan en forma de histograma y el tiempo de cálculo del histograma es la complejidad del tiempo.

Complejidad del tiempo

Este algoritmo de mapa de prominencia tiene complejidad temporal . Dado que el tiempo de cálculo del histograma es la complejidad del tiempo, N es el número de píxeles de un cuadro. Además, la parte negativa y la parte multiplicada de esta ecuación necesitan una operación 256 veces. En consecuencia, la complejidad temporal de este algoritmo es igual a .

Pseudocódigo

Todo el código siguiente es pseudocódigo MATLAB . Primero, lea datos de secuencias de video.

para k = 2 : 1 : 13 %, lo que significa del cuadro 2 al 13, y en cada bucle el valor de K aumenta en uno. I = estoy leído ( nombre de archivo actual ); % leer el cuadro actual I1 = im2single ( I ); % convertir imagen doble en simple (requisito del comando vlslic) l = imread ( nombre de archivo anterior ); % leer el cuadro anterior I2 = im2single ( l ); Tamaño de región = 10 ; % establece el parámetro de SLIC. Esta configuración de parámetro es el resultado experimental. RegionSize significa el tamaño de superpíxel. regularizador = 1 ; % establece el parámetro de SLIC segments1 = vl_slic ( I1 , regionSize , regularizer ); % obtiene el superpíxel de los segmentos del cuadro actual2 = vl_slic ( I2 , regionSize , regularizer ); % obtiene superpíxeles del fotograma anterior numsuppix = max ( segmentos1 (:)); % obtiene el número de superpíxeles. Toda la información sobre superpíxeles se encuentra en este enlace [http://www.vlfeat.org/overview/slic.html] regstats1 = regionprops ( segmentos1 , ' todos ' ); regstats2 = propsregión ( segmentos2 , ' todos ' ); % obtiene la característica de la región según los segmentos1                                                        

Después de leer los datos, realizamos un proceso de superpíxeles en cada cuadro. Spnum1 y Spnum2 representan el número de píxeles del fotograma actual y el píxel anterior.

% Primero, calculamos el valor de distancia de cada píxel. % Este es nuestro código principal para i = 1 : 1 : spnum1 % Desde el primer píxel hasta el último. Y en cada bucle i++ for j = 1 : 1 : spnum2 % Desde el primer píxel hasta el último. j++. centrodista del cuadro anterior ( i : j ) = suma (( centro ( i ) - centro ( j ))); % calcular la distancia entre centros al final                

Luego calculamos la distancia de color de cada píxel, a este proceso lo llamamos función de contrato.

para i = 1 : 1 : spnum1 % Desde el primer píxel del fotograma actual hasta el último píxel. I ++ para j = 1 : 1 : spnum2 % Desde el primer píxel del fotograma anterior hasta el último píxel. J++ posdiff ( i , j ) = suma (( regstats1 ( j ). Centroid ' - mupwtd (:, i ))); % Calcula la distancia de color. fin fin                  

Después de estos dos procesos, obtendremos un mapa de prominencia y luego almacenaremos todos estos mapas en una nueva carpeta de archivos.

Diferencia en algoritmos

La principal diferencia entre la función uno y dos es la diferencia de la función del contrato. Si spnum1 y spnum2 representan el número de píxeles del fotograma actual, entonces esta función de contrato es para la primera función de prominencia. Si spnum1 es el número de píxeles del fotograma actual y spnum2 representa el número de píxeles del fotograma anterior, entonces esta función de contrato es para la segunda función de prominencia. Si usamos la segunda función de contrato que usa el píxel del mismo fotograma para obtener la distancia central para obtener un mapa de prominencia, entonces aplicamos esta función de prominencia a cada fotograma y usamos el mapa de prominencia del fotograma actual menos el mapa de prominencia del fotograma anterior para obtener una nueva imagen. que es el nuevo resultado de prominencia de la tercera función de prominencia.

Resultado de prominencia

Conjuntos de datos

El conjunto de datos de prominencia suele contener movimientos del ojo humano en algunas secuencias de imágenes. Es valioso para la creación de nuevos algoritmos de prominencia o para comparar el existente. Los parámetros del conjunto de datos más valiosos son la resolución espacial, el tamaño y el equipo de seguimiento ocular . Aquí hay parte de la tabla de conjuntos de datos grandes de MIT/Tübingen Saliency Benchmark, por ejemplo.

Para recopilar un conjunto de datos de prominencia, se deben preparar secuencias de imágenes o videos y equipos de seguimiento ocular , y se debe invitar a observadores. Los observadores deben tener visión normal o corregida a normal y deben estar a la misma distancia de la pantalla. Al comienzo de cada sesión de grabación, el rastreador ocular se recalibra. Para ello, el observador fija su mirada en el centro de la pantalla. Luego comenzó la sesión y se recopilan datos de prominencia mostrando secuencias y registrando miradas.

El dispositivo de seguimiento ocular es una cámara de alta velocidad , capaz de registrar los movimientos oculares al menos a 250 fotogramas por segundo . Las imágenes de la cámara son procesadas por el software, que se ejecuta en una computadora dedicada y devuelve datos de la mirada.

Referencias

  1. ^ Subhash, Bijil (6 de marzo de 2022). "IA explicable: mapas de prominencia". Medio . Consultado el 26 de mayo de 2024 .
  2. ^ Guo, Chenlei; Zhang, Liming (enero de 2010). "Un novedoso modelo de detección de prominencia espaciotemporal multiresolución y sus aplicaciones en compresión de imágenes y vídeos". Transacciones IEEE sobre procesamiento de imágenes . 19 (1): 185–198. Código Bib : 2010ITIP...19..185G. doi :10.1109/TIP.2009.2030969. ISSN  1057-7149. PMID  19709976. S2CID  1154218.
  3. ^ Pinzas, Yubing; Konik, Hubert; Cheikh, Faouzi; Tremeau, Alain (1 de mayo de 2010). "Evaluación completa de la calidad de la imagen de referencia basada en el análisis del mapa de prominencia". Revista de ciencia y tecnología de imágenes . 54 (3): 30503–1–30503-14. doi : 10.2352/J.ImagingSci.Technol.2010.54.3.030503 . hdl : 11250/142490 .
  4. ^ Goferman, Stas; Mansión Zelnik, Lihi; Tal, Ayellet (octubre de 2012). "Detección de prominencia consciente del contexto". Transacciones IEEE sobre análisis de patrones e inteligencia artificial . 34 (10): 1915-1926. doi :10.1109/TPAMI.2011.272. ISSN  1939-3539. PMID  22201056.
  5. ^ Jiang, Huaizu; Wang, Jing Dong; Yuan, Zejian; Wu, Yang; Zheng, Nanning; Li, Shipeng (junio de 2013). "Detección de objetos destacados: un enfoque discriminativo de integración de características regionales". Conferencia IEEE 2013 sobre visión por computadora y reconocimiento de patrones . IEEE. págs. 2083-2090. arXiv : 1410.5926 . doi :10.1109/cvpr.2013.271. ISBN 978-0-7695-4989-7.
  6. ^ ab Müller, Romy (2024). "Cómo la IA explicable afecta el desempeño humano: una revisión sistemática de las consecuencias conductuales de los mapas de prominencia". arXiv : 2404.16042 [cs.HC].
  7. ^ A. Maity (2015). "Detección y manipulación improvisada de objetos salientes". arXiv : 1511.02999 [cs.CV].

enlaces externos

Ver también