Grazie ad un bel post di Paolo Attivissimo, scopro un simpatico metodo per intuire eventuali cambiamenti e ritocchi effettuati in una immagine digitale. L’algoritmo si basa sul controllo della compressione jpeg effettuata per comprimere e salvare le immagini. Prendendo in analisi le discrepanze matematiche del metodo di salvataggio jpeg, è possibile capire dove sbaglia e quindi rivelare l’incollaggio di parti da altre foto, innaturali spostamenti, sfocature, tagli, ricostruzioni.
Vediamo in dettaglio di cosa si tratta.
Il punto della questione è che quando lavoriamo su fonti compresse, anche poco, come una jpeg salvata al 90% della qualità, comunque i nostri dati sono manipolati, anzi modulati secondo l’algoritmo jpeg, così facendo sulla foto si viene a creare una “patina”, una trama di compressione che anche se invisibile all’occhio è ben rilevabile con semplici controlli matematici. Alla luce di questo meccanismo, se incolliamo due foto di diversa provenienza ma entrambe compresse, andiamo a unire su un’unica immagine due trame di compressione diverse. Al momento del salvataggio della terza immagine, unione delle altre due, si viene a creare una terza e ultima compressione che è quella che prendiamo in analisi.
Questa compressione, quando va a elaborare la bitmap generata dal programma deve rapportarsi con i bit che compongono l’immagine, che in realtà sono stati già manipolati, ma l’algoritmo jpeg non lo sa e li tratta normalmente. Si viene quindi a creare una immagine che mantiene al suo interno il dato che dimostra che quella immagine è unione di altre. La cosa è rilevabile con controlli matematici.
Per approfondire ecco un pò di links:
- Analisi della famosa immagine di Victoria Secrets: con la dimostrazione delle manipolazioni.
- La tecnica della jpeg applicata ai video di Al-Queida: ovvero sfondi finti e libri aggiunti.
- Il software che effettua il confronto: a chi piace la matematica… :)
Tags: algoritmo, fotoritocco, grafica, matematica, paolo attivissimo, rivelare, wired
