Studio e sviluppo di una
    tecnica per l’identificazione blind
       di dispositivi di acquisizione
            di immagini digitali

                      Bruno Bertini

                                      Relatori:
Firenze, 12/10/2012                       Prof. Alberto Del Bimbo
                                          Dott. Roberto Caldelli
                                          Dott. Irene Amerini
Sommario

 Digital Forensics → Image Forensics

 Metodologia
    o Estrazione feature
    o Classificazione Blind → Spectral Clustering

 Risultati sperimentali

 Conclusioni e sviluppi futuri
Digital Forensics
 Il Digital Forensics è la scienza che permette attraverso l'analisi di
 prove digitali di ricostruire eventi collegati ad azioni illegali.


 Prova digitale: Qualsiasi informazione, con valore
 probatorio, memorizzata in formato digitale.



 Image Forensics
     Tampering detection
    Source identification
Image source identification
Identificazione del dispositivo che ha generato una immagine digitale
Metodologia

1) Estrazione caratteristiche distintive della sorgente: feature


                                      𝒗𝒗𝒗𝒗𝒗𝒗𝒗 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 = [ … ]




2) Classificazione delle immagini

          non–Blind

          Blind
Classificazione Blind
                non-Blind


                 Estrazione   Addestramento
  Training-Set                                  Classe 1
                  Feature


                 Estrazione      Algoritmo
    Test-Set                   Classificatore   Classe 2
                  Feature          Blind



                                                Classe 3




                                                Classe n
Obiettivo della tesi




              Estrazione   Algoritmo
   Test-Set
               Feature       Blind
Estrazione delle feature
Tre tecniche distinte per estrarre feature:

       1. Denoising dell’immagine

       2. Analisi trasformata Wavelet

       3. Predizione lineare


                                        𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = [37 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 ]


                                                 X
                                              3 bande

                                    𝒗𝒗𝒗𝒗𝒗𝒗𝒗 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 = [𝟏𝟏𝟏 𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆 ]
Denoising dell’immagine
                           𝒇𝒇𝒇𝒇𝒇𝒇𝒇    𝟏 → 𝟏𝟏       𝑭𝑭𝑭𝑭𝑭𝑭 𝒅𝒅 𝑴𝑴𝑴𝑴𝑴𝑴
                                        𝑓𝑓𝑓𝑓𝑓𝑓𝑓 [ 1 → 8 ]
        D


                                        𝑓𝑓𝑓𝑓𝑓𝑓𝑓 [ 9 → 14 ]
                  Media
                            4 momenti statistici per Media Col. e Media Rig.
                 Colonne



                                                    ∑ 𝑐𝑐𝑐𝑐 𝑐𝑐𝑐
                           3 momenti statistici per Corr. Righe e Corr. Colonne

                                      𝑓 15 = 1 −               ∗ 100
   Media Righe
                                                    ∑ 𝑐𝑐𝑐𝑐 𝑟𝑟𝑟


                           𝒇𝒇𝒇𝒇𝒇𝒇𝒇    𝟏𝟏 → 𝟐𝟐       𝟔 𝒇𝒇𝒇𝒇𝒇𝒇
                           1. Filtro Mihcak         4. Filtro Gaussiano 3x3
                           2. Filtro Media 3x3      5. Filtro Wiener 3x3
                           3. Filtro Mediana 3x3    6. Filtro Wienere 5x5
                                   Media e deviazione standard
                                    delle 6 versioni del rumore
Analisi trasformata Wavelet
                  𝒇𝒇𝒇𝒇𝒇𝒇𝒇         𝟐𝟐 → 𝟑𝟑
                     Deviazione Standard per ciascuna
                      delle 3 sottobande HL, HH e LH


                  𝒇𝒇𝒇𝒇𝒇𝒇𝒇 [ 𝟑𝟑 → 𝟑𝟑 ]
                     Per ogni sottobanda confronto della
                      distribuzione gaussiana p(y) con la
                      distribuzione q(y) dei coefficienti della
                      sottobanda stessa.

                    q(y)

                           p(y)        𝛿 = � 𝑝 𝑦 − 𝑞(𝑦) 𝑑𝑑
Predizione lineare
                       1. Identificazione zone lisce mediante
                          segmentazione con filtro di Prewitt
                       2. ‘’Zone lisce chiare’’ e ‘’zone lisce scure’’
                          mediante soglia di intensità luminosa
                       3. In ciascuna zona predizione
                          pixel bi mediante pixel limitrofi



                                    ∆𝑏 =       𝑏′ − 𝑏
    ai,1 ai,4 ai,6     4. Confronto tra pixel predetti b’ e pixel reali b

    ai,2   bi   ai,7

                        𝒇𝒇𝒇𝒇𝒇𝒇𝒇       𝟑𝟑 → 𝟑𝟑
    ai,3 ai,5 ai,8

                        Media e Deviazione Standard di ∆𝑏 per le 2 zone
Classificazione Blind
                      Algoritmo di Spectral Clustering [Shi et al. 2000]
 Tecnica basata su Teoria dei Grafi
     o Nodi = Dati da partizionare
     o Archi = Matrice di similarità

 Algoritmo Top-Down

    N immagini Cluster Iniziale                           Si parte con la totalità delle N immagini
                                                          Ad ogni iterazione il grafo viene
                                                           bipartizionato o meno in base al
              Cluster 1             Cluster 2              coefficiente di aggregazione
                                                          Condizione di stop: coefficiente di
                                                           aggregazione supera una soglia TH
                                                           predefinita
Cluster 1.1     Cluster 1.2

         [Shi et al. 2000] - J. Shi and J. Malik, ‘’Normalized cuts and image segmentation’’, Pattern
         Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, no. 8, pp. 888-905, aug 2000.
Spectral Clustering

 Matrice delle similarità: Correlazione tra i vettori delle feature.
                                                                       Cluster 1



   Matrice delle           Matrice delle             Spectral          Cluster 2
  Feature (Nx111)        Similarità (NxN)           Clustering




                                                                       Cluster k
                                                Valore soglia TH
Risultati sperimentali
Esperimenti:
 1. Scelta valore soglia TH
 2. Classificazione Spectral Clustering
 3. Confronto Spectral Clustering con algoritmo K-means
 4. Confronto Spectral Clustering con stato dell’arte


Database 300 immagini: 100 immagini per ciascuna delle 3 sorgenti.
                                          Camera    CG    Scanner
                                            70      40     100      Dataset 1
                                            40      50      90      Dataset 2
     Combinate in 63 dataset
                                            90      60      80      Dataset 3
                                            …       …       …           ...
                                            …       …       …       Dataset 63
Risultati 1: scelta valore soglia TH
  Curve ROC: True Positive Rate e False Positive Rate (TPR/FPR)
  Intervallo valori soglia [0.82 – 0.95] con incremento di 0.01
Risultati 1: scelta valore soglia TH



                                       Media
                             Valore
                                      distanza
                            Soglia TH
                                      Euclidea
                              0,82    0,9058

                  TH=0.85     0,83     0,903

                              0,84    0,9139

                              0,85    0,7779

                              0,86    0,9918
Risultati 2: Spectral Clustering


                                      Camera    CG     Scanner
 Media su 63 esperimenti
                            Camera     86%     1.9%    12.1%
 Valore soglia TH = 0.85
                              CG       7.8%    83.8%    8.4%

                            Scanner   10.6%    17.1%   72.3%
Risultati 3: confronto con K-means
Risultati 3: confronto con K-means
    K-means: algoritmo di clustering
    E’ imposta la scelta iniziale del numero K di cluster da cercare




    Calcolo coefficiente di silhouette per ogni K = [2 - 30]

                                                  𝑏𝑖 − 𝑎 𝑖
                                 𝑆𝑆𝑆. 𝐶𝐶𝐶𝐶𝐶. =                 = [−1 , 1]
                                                 𝑚𝑚𝑚 𝑎 𝑖 , 𝑏 𝑖
                                  𝑎 𝑖 : 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑏 𝑖 : 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠

            𝐚𝐚𝐚𝐚𝐚𝐚 𝑺𝑺𝑺. 𝑪𝑪𝑪𝑪𝑪.
               𝒌
Risultati 3: confronto con K-means
                                                                   K-means
           Spectral Clustering                                       Camera CG
                                                             Camera 96.5% 3.5%
            Camera    CG     Scanner                  K=2
                                                               CG     4.2% 95.8%
                                                             Scanner 52.5% 47.5%
  Camera     86%     1.9%    12.1%

    CG       7.8%    83.8%       8.4%                           Camera    CG     Scanner
  Scanner 10,6%      17.1%   72.3%                    Camera 90.2%       2.6%     7.2%
                                                K=3
                                                        CG       4.1%    93%      2.9%
                                                      Scanner    3.6%    11.6%    84.8%


                             Singola sorgente (100 camera)
            Camera    CG     Scanner                            Camera    CG     Scanner
                                               K=3
  Camera     90%      4%         6%                   Camera     60%     19%      21%
Risultati 4: confronto con stato dell’arte
 Confronto con due metodologie non-Blind: [Delp et al. 2008] e [McKay et al. 2008]


                  240 (80 x sorgente)                         Addestramento SVM

     Database
       300
     immagini
                                                                           SVM
                      60 (20xsorgente)
                                                                Spectral Clustering


[McKay et al. 2008] - C. McKay, A. Swaminathan, H. Gou, and M. Wu, ‘’Image acquisition foren-
sics: Forensic analysis to identify imaging source’’, in ICASSP'08, 2008, pp.1657-1660.
[Delp et al. 2008] - N. Khanna, G.-C. Chiu, J. Allebach, and E. Delp, ‘’Forensic techniques for classifying scanner,
computer generated and digital camera images’’. in Acoustics, Speech and Signal Processing, 2008. ICASSP 2008.
IEEE International Conference on, 31 2008-april 4 2008, pp. 1653-1656.
Risultati 4: confronto con stato dell’arte
           [Delp et al. 2008]                            [McKay et al. 2008]
            Camera      CG      Scanner                   Camera     CG        Scanner

 Camera 74.4%         17.8%      7.8%            Camera 97.1%       2.9%         0%

   CG        4.6%      81%      14.4%             CG       14.2%    85.4%        4%

 Scanner      6%       20%       74%            Scanner     7%       1%         92%

                                   Spectral Clustering

                                Camera     CG     Scanner Altro

                       Camera 83.6%       1.8%     9.4%      5.2%

                         CG       3.6%    80.1%    8.8%      7.5%

                       Scanner 13.8%      8.4%      72%      5.8%
Conclusioni
 Estrazione feature basate su rumore
 Scelta Spectral Clustering per classificazione Blind
 Test Spectral Clustering e confronti con altri algoritmi e metodologie non-Blind

   Vantaggi
   o Corretta identificazione della sorgente nel 80% dei casi
   o Migliore del K-means in ambiente Blind
   o Risultati paragonabili con lo stato dell’arte (non-Blind)
   Svantaggi
   o Minor robustezza rispetto al caso non-Blind
   o Dipendenza dalla numerosità del dataset

   Sviluppi Futuri          Definizione di un nuovo coefficiente di aggregazione
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind di dispositivi di acquisizione di immagini digitali
Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind di dispositivi di acquisizione di immagini digitali

Bruno Bertini - Studio e sviluppo di una tecnica per l’identificazione blind di dispositivi di acquisizione di immagini digitali

  • 1.
    Studio e sviluppodi una tecnica per l’identificazione blind di dispositivi di acquisizione di immagini digitali Bruno Bertini Relatori: Firenze, 12/10/2012 Prof. Alberto Del Bimbo Dott. Roberto Caldelli Dott. Irene Amerini
  • 2.
    Sommario  Digital Forensics→ Image Forensics  Metodologia o Estrazione feature o Classificazione Blind → Spectral Clustering  Risultati sperimentali  Conclusioni e sviluppi futuri
  • 3.
    Digital Forensics IlDigital Forensics è la scienza che permette attraverso l'analisi di prove digitali di ricostruire eventi collegati ad azioni illegali. Prova digitale: Qualsiasi informazione, con valore probatorio, memorizzata in formato digitale. Image Forensics  Tampering detection  Source identification
  • 4.
    Image source identification Identificazionedel dispositivo che ha generato una immagine digitale
  • 5.
    Metodologia 1) Estrazione caratteristichedistintive della sorgente: feature 𝒗𝒗𝒗𝒗𝒗𝒗𝒗 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 = [ … ] 2) Classificazione delle immagini  non–Blind  Blind
  • 6.
    Classificazione Blind non-Blind Estrazione Addestramento Training-Set Classe 1 Feature Estrazione Algoritmo Test-Set Classificatore Classe 2 Feature Blind Classe 3 Classe n
  • 7.
    Obiettivo della tesi Estrazione Algoritmo Test-Set Feature Blind
  • 8.
    Estrazione delle feature Tretecniche distinte per estrarre feature: 1. Denoising dell’immagine 2. Analisi trasformata Wavelet 3. Predizione lineare 𝑣𝑣𝑣𝑣𝑣𝑣𝑣 𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = [37 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒 ] X 3 bande 𝒗𝒗𝒗𝒗𝒗𝒗𝒗 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 = [𝟏𝟏𝟏 𝒆𝒆𝒆𝒆𝒆𝒆𝒆𝒆 ]
  • 9.
    Denoising dell’immagine 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 𝟏 → 𝟏𝟏 𝑭𝑭𝑭𝑭𝑭𝑭 𝒅𝒅 𝑴𝑴𝑴𝑴𝑴𝑴 𝑓𝑓𝑓𝑓𝑓𝑓𝑓 [ 1 → 8 ] D 𝑓𝑓𝑓𝑓𝑓𝑓𝑓 [ 9 → 14 ] Media 4 momenti statistici per Media Col. e Media Rig. Colonne ∑ 𝑐𝑐𝑐𝑐 𝑐𝑐𝑐 3 momenti statistici per Corr. Righe e Corr. Colonne 𝑓 15 = 1 − ∗ 100 Media Righe ∑ 𝑐𝑐𝑐𝑐 𝑟𝑟𝑟 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 𝟏𝟏 → 𝟐𝟐 𝟔 𝒇𝒇𝒇𝒇𝒇𝒇 1. Filtro Mihcak 4. Filtro Gaussiano 3x3 2. Filtro Media 3x3 5. Filtro Wiener 3x3 3. Filtro Mediana 3x3 6. Filtro Wienere 5x5 Media e deviazione standard delle 6 versioni del rumore
  • 10.
    Analisi trasformata Wavelet 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 𝟐𝟐 → 𝟑𝟑  Deviazione Standard per ciascuna delle 3 sottobande HL, HH e LH 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 [ 𝟑𝟑 → 𝟑𝟑 ]  Per ogni sottobanda confronto della distribuzione gaussiana p(y) con la distribuzione q(y) dei coefficienti della sottobanda stessa. q(y) p(y) 𝛿 = � 𝑝 𝑦 − 𝑞(𝑦) 𝑑𝑑
  • 11.
    Predizione lineare 1. Identificazione zone lisce mediante segmentazione con filtro di Prewitt 2. ‘’Zone lisce chiare’’ e ‘’zone lisce scure’’ mediante soglia di intensità luminosa 3. In ciascuna zona predizione pixel bi mediante pixel limitrofi ∆𝑏 = 𝑏′ − 𝑏 ai,1 ai,4 ai,6 4. Confronto tra pixel predetti b’ e pixel reali b ai,2 bi ai,7 𝒇𝒇𝒇𝒇𝒇𝒇𝒇 𝟑𝟑 → 𝟑𝟑 ai,3 ai,5 ai,8 Media e Deviazione Standard di ∆𝑏 per le 2 zone
  • 12.
    Classificazione Blind Algoritmo di Spectral Clustering [Shi et al. 2000]  Tecnica basata su Teoria dei Grafi o Nodi = Dati da partizionare o Archi = Matrice di similarità  Algoritmo Top-Down N immagini Cluster Iniziale  Si parte con la totalità delle N immagini  Ad ogni iterazione il grafo viene bipartizionato o meno in base al Cluster 1 Cluster 2 coefficiente di aggregazione  Condizione di stop: coefficiente di aggregazione supera una soglia TH predefinita Cluster 1.1 Cluster 1.2 [Shi et al. 2000] - J. Shi and J. Malik, ‘’Normalized cuts and image segmentation’’, Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 22, no. 8, pp. 888-905, aug 2000.
  • 13.
    Spectral Clustering Matricedelle similarità: Correlazione tra i vettori delle feature. Cluster 1 Matrice delle Matrice delle Spectral Cluster 2 Feature (Nx111) Similarità (NxN) Clustering Cluster k Valore soglia TH
  • 14.
    Risultati sperimentali Esperimenti: 1.Scelta valore soglia TH 2. Classificazione Spectral Clustering 3. Confronto Spectral Clustering con algoritmo K-means 4. Confronto Spectral Clustering con stato dell’arte Database 300 immagini: 100 immagini per ciascuna delle 3 sorgenti. Camera CG Scanner 70 40 100 Dataset 1 40 50 90 Dataset 2 Combinate in 63 dataset 90 60 80 Dataset 3 … … … ... … … … Dataset 63
  • 15.
    Risultati 1: sceltavalore soglia TH  Curve ROC: True Positive Rate e False Positive Rate (TPR/FPR)  Intervallo valori soglia [0.82 – 0.95] con incremento di 0.01
  • 16.
    Risultati 1: sceltavalore soglia TH Media Valore distanza Soglia TH Euclidea 0,82 0,9058 TH=0.85 0,83 0,903 0,84 0,9139 0,85 0,7779 0,86 0,9918
  • 17.
    Risultati 2: SpectralClustering Camera CG Scanner  Media su 63 esperimenti Camera 86% 1.9% 12.1%  Valore soglia TH = 0.85 CG 7.8% 83.8% 8.4% Scanner 10.6% 17.1% 72.3%
  • 18.
  • 19.
    Risultati 3: confrontocon K-means  K-means: algoritmo di clustering  E’ imposta la scelta iniziale del numero K di cluster da cercare  Calcolo coefficiente di silhouette per ogni K = [2 - 30] 𝑏𝑖 − 𝑎 𝑖 𝑆𝑆𝑆. 𝐶𝐶𝐶𝐶𝐶. = = [−1 , 1] 𝑚𝑚𝑚 𝑎 𝑖 , 𝑏 𝑖 𝑎 𝑖 : 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑏 𝑖 : 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝐚𝐚𝐚𝐚𝐚𝐚 𝑺𝑺𝑺. 𝑪𝑪𝑪𝑪𝑪. 𝒌
  • 20.
    Risultati 3: confrontocon K-means K-means Spectral Clustering Camera CG Camera 96.5% 3.5% Camera CG Scanner K=2 CG 4.2% 95.8% Scanner 52.5% 47.5% Camera 86% 1.9% 12.1% CG 7.8% 83.8% 8.4% Camera CG Scanner Scanner 10,6% 17.1% 72.3% Camera 90.2% 2.6% 7.2% K=3 CG 4.1% 93% 2.9% Scanner 3.6% 11.6% 84.8% Singola sorgente (100 camera) Camera CG Scanner Camera CG Scanner K=3 Camera 90% 4% 6% Camera 60% 19% 21%
  • 21.
    Risultati 4: confrontocon stato dell’arte Confronto con due metodologie non-Blind: [Delp et al. 2008] e [McKay et al. 2008] 240 (80 x sorgente) Addestramento SVM Database 300 immagini SVM 60 (20xsorgente) Spectral Clustering [McKay et al. 2008] - C. McKay, A. Swaminathan, H. Gou, and M. Wu, ‘’Image acquisition foren- sics: Forensic analysis to identify imaging source’’, in ICASSP'08, 2008, pp.1657-1660. [Delp et al. 2008] - N. Khanna, G.-C. Chiu, J. Allebach, and E. Delp, ‘’Forensic techniques for classifying scanner, computer generated and digital camera images’’. in Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on, 31 2008-april 4 2008, pp. 1653-1656.
  • 22.
    Risultati 4: confrontocon stato dell’arte [Delp et al. 2008] [McKay et al. 2008] Camera CG Scanner Camera CG Scanner Camera 74.4% 17.8% 7.8% Camera 97.1% 2.9% 0% CG 4.6% 81% 14.4% CG 14.2% 85.4% 4% Scanner 6% 20% 74% Scanner 7% 1% 92% Spectral Clustering Camera CG Scanner Altro Camera 83.6% 1.8% 9.4% 5.2% CG 3.6% 80.1% 8.8% 7.5% Scanner 13.8% 8.4% 72% 5.8%
  • 23.
    Conclusioni  Estrazione featurebasate su rumore  Scelta Spectral Clustering per classificazione Blind  Test Spectral Clustering e confronti con altri algoritmi e metodologie non-Blind Vantaggi o Corretta identificazione della sorgente nel 80% dei casi o Migliore del K-means in ambiente Blind o Risultati paragonabili con lo stato dell’arte (non-Blind) Svantaggi o Minor robustezza rispetto al caso non-Blind o Dipendenza dalla numerosità del dataset Sviluppi Futuri Definizione di un nuovo coefficiente di aggregazione