Una tabla de área sumada es una estructura de datos y un algoritmo para generar de manera rápida y eficiente la suma de valores en un subconjunto rectangular de una cuadrícula. En el dominio del procesamiento de imágenes , también se la conoce como imagen integral . Fue introducida en gráficos por computadora en 1984 por Frank Crow para su uso con mapas MIP . En visión por computadora, fue popularizada por Lewis [1] y luego se le dio el nombre de "imagen integral" y se usó de manera destacada dentro del marco de detección de objetos de Viola-Jones en 2001. Históricamente, este principio es muy conocido en el estudio de funciones de distribución de probabilidad multidimensionales, es decir, en el cálculo de probabilidades 2D (o ND) (área bajo la distribución de probabilidad) a partir de las respectivas funciones de distribución acumulativa . [2]
El algoritmo
Como sugiere el nombre, el valor en cualquier punto ( x , y ) en la tabla de área sumada es la suma de todos los píxeles por encima y a la izquierda de ( x , y ), inclusive: [3] [4]
donde es el valor del píxel en ( x , y ).
La tabla de área sumada se puede calcular de manera eficiente en una sola pasada sobre la imagen, ya que el valor en la tabla de área sumada en ( x , y ) es simplemente: [5] (Tenga en cuenta que la matriz sumada se calcula desde la esquina superior izquierda)
Una vez calculada la tabla de áreas sumadas, evaluar la suma de intensidades sobre cualquier área rectangular requiere exactamente cuatro referencias de matriz independientemente del tamaño del área. Es decir, la notación en la figura de la derecha, con A = ( x 0 , y 0 ) , B = ( x 1 , y 0 ) , C = ( x 0 , y 1 ) y D = ( x 1 , y 1 ) , la suma de i ( x , y ) sobre el rectángulo abarcado por A , B , C y D es:
Extensiones
Este método se extiende naturalmente a dominios continuos. [2]
El método también se puede extender a imágenes de alta dimensión. [6] Si las esquinas del rectángulo están en , entonces la suma de los valores de la imagen contenidos en el rectángulo se calcula con la fórmula
donde es la imagen integral en y la dimensión de la imagen. La notación corresponde en el ejemplo a , , , y . En neuroimagen , por ejemplo, las imágenes tienen dimensión o , cuando se utilizan vóxeles o vóxeles con una marca de tiempo.
Este método se ha extendido a imágenes integrales de orden superior, como en el trabajo de Phan et al. [7], quienes proporcionaron dos, tres o cuatro imágenes integrales para calcular de manera rápida y eficiente la desviación estándar (varianza), la asimetría y la curtosis del bloque local en la imagen. Esto se detalla a continuación:
Para calcular la varianza o desviación estándar de un bloque, necesitamos dos imágenes integrales:
La varianza viene dada por:
Sea y las sumas del bloque de y , respectivamente. y se calculan rápidamente mediante la imagen integral. Ahora, manipulamos la ecuación de varianza como:
Donde y .
Similar a la estimación de la media ( ) y la varianza ( ), que requiere las imágenes integrales de la primera y segunda potencia de la imagen respectivamente (es decir, ); se pueden realizar manipulaciones similares a las mencionadas anteriormente para la tercera y cuarta potencia de las imágenes (es decir , .) para obtener la asimetría y la curtosis. [7]
Pero un detalle de implementación importante que se debe tener en cuenta para los métodos anteriores, como lo mencionan F Shafait et al. [8] es el desbordamiento de enteros que ocurre para las imágenes integrales de orden superior en caso de que se utilicen enteros de 32 bits.
Consideraciones de implementación
Es posible que el tipo de datos para las sumas deba ser diferente y más grande que el tipo de datos utilizado para los valores originales, a fin de dar cabida a la suma más grande esperada sin desbordamiento . Para los datos de punto flotante, el error se puede reducir utilizando la suma compensada .
^ Lewis, JP (1995). Coincidencia rápida de plantillas . Proc. Vision Interface . Págs. 120–123.
^ ab Finkelstein, Amir; neeratsharma (2010). "Integrales dobles mediante la suma de valores de la función de distribución acumulativa". Proyecto de demostración Wolfram .
^ Crow, Franklin (1984). "Tablas de área sumadas para mapeo de texturas". SIGGRAPH '84: Actas de la 11.ª conferencia anual sobre gráficos por computadora y técnicas interactivas . págs. 207–212. doi :10.1145/800031.808600.
^ Viola, Paul; Jones, Michael (2002). "Detección robusta de objetos en tiempo real" (PDF) . Revista internacional de visión artificial .
^ BADGERATI (3 de septiembre de 2010). «Computer Vision – The Integral Image» (Visión por computadora: la imagen integral). computersciencesource.wordpress.com . Consultado el 13 de febrero de 2017 .
^ Tapia, Ernesto (enero de 2011). "Una nota sobre el cálculo de imágenes integrales de alta dimensión". Pattern Recognition Letters . 32 (2): 197–201. Código Bibliográfico :2011PaReL..32..197T. doi :10.1016/j.patrec.2010.10.007.
^ ab Phan, Thien; Sohoni, Sohum; Larson, Eric C.; Chandler, Damon M. (22 de abril de 2012). "Aceleración de la evaluación de la calidad de imagen basada en el análisis del rendimiento". Simposio IEEE Southwest de 2012 sobre análisis e interpretación de imágenes (PDF) . págs. 81–84. CiteSeerX 10.1.1.666.4791 . doi :10.1109/SSIAI.2012.6202458. hdl :11244/25701. ISBN .978-1-4673-1830-3. Número de identificación del sujeto 12472935.
^ Shafait, Faisal; Keysers, Daniel; M. Breuel, Thomas (enero de 2008). Yanikoglu, Berrin A.; Berkner, Kathrin (eds.). "Implementación eficiente de técnicas de umbralización adaptativa local utilizando imágenes integrales" (PDF) . Imágenes electrónicas . Reconocimiento y recuperación de documentos XV. 6815 : 681510–681510–6. Código Bibliográfico :2008SPIE.6815E..10S. CiteSeerX 10.1.1.109.2748 . doi :10.1117/12.767755. S2CID 9284084.
Enlaces externos
Implementación de tabla sumada en detección de objetos
Vídeos de conferencias
Una introducción a la teoría detrás del algoritmo de imagen integral
Una demostración de una versión continua del algoritmo de imagen integral, del Proyecto de Demostraciones Wolfram