Immagine integrale

struttura dati per il calcolo della somma dei valori in un sottoinsieme rettangolare di una griglia

Un'immagine integrale è una struttura dati per il calcolo rapido della somma dei valori in un sottoinsieme rettangolare di una griglia. Storicamente, il concetto era noto nel calcolo delle distribuzioni di probabilità multidimensionali a partire dalla funzione di ripartizione.[1] L'idea è stata introdotta in computer grafica nel 1984 da Frank Crow con applicazioni legate alle mipmap, ed ha assunto il nome di immagine integrale e ottenuto ampia diffusione in visione artificiale a seguito dell'uso nell'algoritmo di Viola-Jones nel 2001.

Esempio di immagine integrale (2.) calcolata a partire dall'immagine in input (1.). Ogni pixel colorato nell'immagine integrale contiene la somma dell'intensità nel rettangolo di colore corrispondente nell'immagine di partenza.

Descrizione

modifica

Il valore dell'immagine integrale in un punto   è dato dalla somma di tutti i punti nel rettangolo che va dall'origine fino a  [2][3]

 

dove   è l'intensità dell'immagine di partenza in  . L'immagine integrale può essere calcolata efficacemente in un singolo passo, poiché il valore può essere riscritto come[4]

 

Usando l'immagine integrale è possibile calcolare la somma dell'intensità in una regione rettangolare allineata con gli assi coordinati, con vertici in   e  , usando solo quattro accessi in memoria e tre operazioni, indipendentemente dalla dimensione della regione:

 

Estensioni

modifica

Il metodo può essere naturalmente esteso a domini continui[1] e a immagini multi-dimensionali.[5] Dato un iper-rettangolo in   dimensioni, con vertici in  , la somma dell'intensità nel rettangolo è data da

 

Il metodo può anche essere esteso per calcolare la varianza. Date due immagini integrali definite come

 
 

la varianza è data da

 

dove   e   sono le rispettive somme dei rettangoli in   e  ,   e  .[6]

Similarmente, immagini integrali di terzo e quarto grado possono essere usate per calcolare momenti di ordine superiore, come indice di simmetria e curtosi.[6] Una delle principali limitazioni all'aumentare del grado è costituita dall'overflow aritmetico.[7]

  1. ^ a b Amir Finkelstein e neeratsharma, Double Integrals By Summing Values Of Cumulative Distribution Function, in Wolfram Demonstration Project, 2010.
  2. ^ Franklin Crow, Summed-area tables for texture mapping (PDF), in SIGGRAPH '84: Proceedings of the 11th annual conference on Computer graphics and interactive techniques, 1984, pp. 207–212. URL consultato il 3 novembre 2019 (archiviato dall'url originale il 4 giugno 2011).
  3. ^ Paul Viola e Jones, Michael, Robust Real-time Object Detection (PDF), in International Journal of Computer Vision, 2002.
  4. ^ BADGERATI, Computer Vision – The Integral Image, su computersciencesource.wordpress.com, 3 settembre 2010. URL consultato il 13 febbraio 2017.
  5. ^ Ernesto Tapia, A note on the computation of high-dimensional integral images, in Pattern Recognition Letters, vol. 32, n. 2, gennaio 2011, pp. 197–201, DOI:10.1016/j.patrec.2010.10.007.
  6. ^ a b Thien Phan, Sohum Sohoni, Eric C. Larson e Damon M. Chandler, Performance-analysis-based acceleration of image quality assessment (PDF), in 2012 IEEE Southwest Symposium on Image Analysis and Interpretation, 22 aprile 2012, pp. 81–84, DOI:10.1109/SSIAI.2012.6202458, ISBN 978-1-4673-1830-3. URL consultato il 3 novembre 2019 (archiviato dall'url originale il 24 maggio 2014).
  7. ^ Faisal Shafait, Daniel Keysers e Thomas M. Breuel, Efficient implementation of local adaptive thresholding techniques using integral images (PDF), in Electronic Imaging, Document Recognition and Retrieval XV, vol. 6815, gennaio 2008, pp. 681510–681510–6, DOI:10.1117/12.767755. URL consultato il 3 novembre 2019 (archiviato dall'url originale il 15 dicembre 2014).