Articulo de referencia

Tabla de áreas sumadas

Utilizando una tabla de área sumada ( 2. ) de una matriz de 6 × 6 ( 1. ) para sumar un subrectángulo de sus valores; cada punto de color resalta la suma dentro del rectángulo de...

Utilizando una tabla de área sumada ( 2. ) de una matriz de 6 × 6 ( 1. ) para sumar un subrectángulo de sus valores; cada punto de color resalta la suma dentro del rectángulo de ese color.

Una tabla de área sumada es una estructura de datos y un algoritmo para generar de forma rápida y eficiente la suma de valores en un subconjunto rectangular de una cuadrícula. En el ámbito del procesamiento de imágenes , también se la conoce como imagen integral . Fue introducida en los gráficos por computadora en 1984 por Frank Crow para su uso con mipmaps . En visión por computadora, fue popularizada por Lewis [ 1 ] y posteriormente recibió el nombre de "imagen integral", utilizándose prominentemente 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, concretamente 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 su nombre indica, el valor en cualquier punto ( x , y ) de la tabla de área sumada es la suma de todos los píxeles situados por encima y a la izquierda de ( x , y ), inclusive: [ 3 ] [ 4 ]  I(incógnita,y)=incógnitaincógnitayyi(incógnita,y){\displaystyle I(x,y)=\sum _{\begin{smallmatrix}x'\leq x\\y'\leq y\end{smallmatrix}}i(x',y')} dóndei(incógnita,y){\displaystyle i(x,y)}es el valor del píxel en ( x , y ).

La tabla de áreas sumadas se puede calcular de manera eficiente en una sola pasada sobre la imagen, ya que el valor en la tabla de áreas sumadas en ( x , y ) es simplemente: [ 5 ] I(incógnita,y)=i(incógnita,y)+I(incógnita,y1)+I(incógnita1,y)I(incógnita1,y1){\displaystyle I(x,y)=i(x,y)+I(x,y-1)+I(x-1,y)-I(x-1,y-1)}(Tenga en cuenta que la matriz resultante se calcula desde la esquina superior izquierda).

Descripción del cálculo de una suma en la estructura de datos/algoritmo de tabla de áreas sumadas.

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, con la notación de la figura de la derecha, donde 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: incógnita0<incógnitaincógnita1y0<yy1i(incógnita,y)=I(D)+I(A)I(B)I(do){\displaystyle \sum _{\begin{smallmatrix}x_{0}<x\leq x_{1}\\y_{0}<y\leq y_{1}\end{smallmatrix}}i(x,y)=I(D)+I(A)-I(B)-I(C)}

Extensiones

Este método se extiende naturalmente a dominios continuos. [ 2 ]

El método también puede extenderse a imágenes de alta dimensión. [ 6 ] Si las esquinas del rectángulo sonincógnitapag{\displaystyle x^{p}}conpag{\displaystyle p}en{0,1}d{\displaystyle \{0,1\}^{d}}, luego la suma de los valores de la imagen contenidos en el rectángulo se calcula con la fórmula pag{0,1}d(1)dpag1I(incógnitapag){\displaystyle \sum _{p\in \{0,1\}^{d}}(-1)^{d-\|p\|_{1}}I(x^{p})} dóndeI(incógnita){\displaystyle I(x)}es la imagen integral enincógnita{\displaystyle x}yd{\displaystyle d}la dimensión de la imagen. La notaciónincógnitapag{\displaystyle x^{p}}corresponder en el ejemplo ad=2{\displaystyle d=2},A=incógnita(0,0){\displaystyle A=x^{(0,0)}},B=incógnita(1,0){\displaystyle B=x^{(1,0)}},do=incógnita(1,1){\displaystyle C=x^{(1,1)}}yD=incógnita(0,1){\displaystyle D=x^{(0,1)}}En neuroimagen , por ejemplo, las imágenes tienen dimensiónd=3{\displaystyle d=3}od=4{\displaystyle d=4}, 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 forma rápida y eficiente la desviación estándar (varianza), la asimetría y la curtosis de bloques locales en la imagen. Esto se detalla a continuación:

Para calcular la varianza o la desviación estándar de un bloque, necesitamos dos imágenes integrales: I(incógnita,y)=incógnitaincógnitayyi(incógnita,y){\displaystyle I(x,y)=\sum _{\begin{smallmatrix}x'\leq x\\y'\leq y\end{smallmatrix}}i(x',y')}I2(incógnita,y)=incógnitaincógnitayyi2(incógnita,y){\displaystyle I^{2}(x,y)=\sum _{\begin{smallmatrix}x'\leq x\\y'\leq y\end{smallmatrix}}i^{2}(x',y')} La varianza viene dada por: Var(incógnita)=1nortei=1norte(incógnitaiμ)2.{\displaystyle \operatorname {Var} (X)={\frac {1}{n}}\sum _{i=1}^{n}(x_{i}-\mu )^{2}.} DejarS1{\displaystyle S_{1}}yS2{\displaystyle S_{2}}denotan las sumas de bloquesABdoD{\displaystyle ABCD}deI{\displaystyle I}yI2{\displaystyle I^{2}}, respectivamente.S1{\displaystyle S_{1}}yS2{\displaystyle S_{2}}se calculan rápidamente mediante la imagen integral. Ahora, manipulamos la ecuación de la varianza de la siguiente manera: Var(incógnita)=1nortei=1norte(incógnitai22μincógnitai+μ2)=1norte[i=1norteincógnitai22i=1norteμincógnitai+i=1norteμ2]=1norte[i=1norteincógnitai22i=1norteμincógnitai+norteμ2]=1norte[i=1norteincógnitai22μi=1norteincógnitai+norteμ2]=1norte[S22S1norteS1+norte(S1norte)2]=1norte[S2S12norte]{\displaystyle {\begin{aligned}\operatorname {Var} (X)&={\frac {1}{n}}\sum _{i=1}^{n}\left(x_{i}^{2}-2\mu x_{i}+\mu ^{2}\right)\\[1ex]&={\frac {1}{n}}\left[\sum _{i=1}^{n}x_{i}^{2}-2\sum _{i=1}^{n}\mu x_{i}+\sum _{i=1}^{n}\mu ^{2}\right]\\[1ex]&={\frac {1}{n}}\left[\sum _{i=1}^{n}x_{i}^{2}-2\sum _{i=1}^{n}\mu x_{i}+n\mu ^{2}\right]\\[1ex]&={\frac {1}{n}}\left[\sum _{i=1}^{n}x_{i}^{2}-2\mu \sum _{i=1}^{n}x_{i}+n\mu ^{2}\right]\\[1ex]&={\frac {1}{n}}\left[S_{2}-2{\frac {S_{1}}{n}}S_{1}+n\left({\frac {S_{1}}{n}}\right)^{2}\right]\\[1ex]&={\frac {1}{n}}\left[S_{2}-{\frac {S_{1}^{2}}{n}}\right]\end{aligned}}} Dóndeμ=S1/norte{\displaystyle \mu =S_{1}/n}yS2=i=1norteincógnitai2{\textstyle S_{2}=\sum _{i=1}^{n}x_{i}^{2}}.

Similar a la estimación de la media (μ{\displaystyle \mu }) y varianza (Var{\displaystyle \operatorname {Var} }), lo que requiere las imágenes integrales de la primera y segunda potencia de la imagen respectivamente (es decir,I,I2{\displaystyle I,I^{2}}); se pueden realizar manipulaciones similares a las mencionadas anteriormente con la tercera y cuarta potencia de las imágenes (es decir,I3(incógnita,y),I4(incógnita,y){\displaystyle I^{3}(x,y),I^{4}(x,y)}.) para obtener la asimetría y la curtosis. [ 7 ] Pero un detalle importante de implementación que debe tenerse en cuenta para los métodos anteriores, como 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 para la implementación

Es posible que el tipo de datos para las sumas deba ser diferente y de mayor tamaño que el tipo de datos utilizado para los valores originales, para poder acomodar la suma máxima esperada sin desbordamiento . Para datos de punto flotante, el error se puede reducir mediante la suma compensada .

Véase también

Referencias

  1. Lewis, JP (1995). Fast template matching . Proc. Vision Interface . pp. 120– 123. 
  2. 1 2 Finkelstein, Amir; neeratsharma (2010). "Integrales dobles mediante la suma de valores de la función de distribución acumulativa" . Proyecto de demostración de Wolfram .
  3. Crow, Franklin (1984). "Tablas de área sumada 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 . 
  4. Viola, Paul; Jones, Michael (2002). "Detección robusta de objetos en tiempo real" (PDF) . Revista internacional de visión por computadora .
  5. BADGERATI (2010-09-03). "Visión por computadora: la imagen integral" . computersciencesource.wordpress.com . Recuperado el 2017-02-13 .
  6. 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. Bibcode : 2011PaReL..32..197T . doi : 10.1016/j.patrec.2010.10.007 .
  7. 1 2 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 del Suroeste 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. S2CID 12472935 . 
  8. 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) . Electronic Imaging . Document Recognition and Retrieval XV. 6815 : 681510–681510–6. Bibcode : 2008SPIE.6815E..10S . CiteSeerX 10.1.1.109.2748 . doi : 10.1117/12.767755 . S2CID 9284084 .  
  • Implementación de tablas sumadas en la detección de objetos

Vídeos de conferencias

  • Introducción a la teoría que sustenta el algoritmo de imagen integral.
  • Una demostración de una versión continua del algoritmo de imagen integral, del Proyecto de Demostraciones de Wolfram.