• Nenhum resultado encontrado

Análise forense de imagens digitais

N/A
N/A
Protected

Academic year: 2021

Share "Análise forense de imagens digitais"

Copied!
62
0
0

Texto

(1)

Universidade de Aveiro Departamento deElectr´onica, Telecomunica¸c˜oes e Inform´atica, 2011

abio

Emanuel Batista

Marques

(2)
(3)

Universidade de Aveiro Departamento deElectr´onica, Telecomunica¸c˜oes e Inform´atica, 2011

abio

Emanuel Batista

Marques

An´

alise Forense de Imagens Digitais

Disserta¸c˜ao apresentada `a Universidade de Aveiro para cumprimento dos requis´ıtos necess´arios `a obten¸c˜ao do grau de Mestre em Engenharia de Computadores e Telem´atica, realizada sob a orienta¸c˜ao cient´ıfica de Ant´onio Neves e Armando Pinho, Professores do Departamento de Electr´onica, Tele-comunica¸c˜oes e Inform´atica da Universidade de Aveiro

(4)
(5)

Armando Jos´e formoso de Pinho

Profª. Doutora

Prof. Doutor

Ant´onio Jos´e Ribeiro Neves

Prof. Doutor

Ana Maria Perfeito Tom´e

Vitor Manuel Ferreira dos Santos o j´uri / the jury

presidente / president

Professora Associada da Universidade de Aveiro (por delega¸c˜ao do Reitor da Uni-versidade de Aveiro)

vogais / examiners committee

Professor auxiliar convidado da Universidade de Aveiro (orientador)

Professor Associado com Agrega¸c˜ao da Universidade de Aveiro (co-orientador)

Professor Associado da Universidade de Aveiro

(6)
(7)

agradecimentos / acknowledgements

Um especial agradecimento ao Doutor Ant´onio Neves e ao Doutor Armando Pinho, meus orientadores, que muito me ensinaram e aconselharam, toda a paciˆencia que tiveram comigo.

Aos meus pais que tudo fizeram para eu aqui puder chegar, mesmo que, em alguns momentos n˜ao lhes tenha sido f´acil.

Ao meu irm˜ao que tamb´em muito me ajudou em todos os momentos. A todos os amigos que estiveram presentes ao longo da minha vida acad´emica.

(8)
(9)

Resumo Nos ´ultimos anos, temos vindo a observar uma grande evolu¸c˜ao no hardware de capta¸c˜ao e software de edi¸c˜ao de imagem digital. Ao mesmo tempo, o custo do equipamento tem tamb´em decrescido, principalmente ao n´ıvel do software de edi¸c˜ao, onde existem v´arios programas freeware, por exemplo o GIMP [1], que foi utilizado para trabalhar as imagens nesta disserta¸c˜ao. A evolu¸c˜ao observada tem aumentado a preocupa¸c˜ao em rela¸c˜ao `a veraci-dade das imagens que todos os dias aparecem nos meios de comunica¸c˜ao. Com isto, o ditado ”uma imagem vale mais que mil palavras”come¸ca a perder o seu significado.

Para combater esta preocupa¸c˜ao e aumentar a confian¸ca das pessoas nas imagens digitais, ao longo dos ´ultimos anos tˆem sido desenvolvidos algorit-mos que permitem a detec¸c˜ao de altera¸c˜oes em imagens.

Nesta disserta¸c˜ao, apresentamos um estudo das t´ecnicas apresentadas ao longo do tempo para detec¸c˜ao de altera¸c˜oes em imagens digitais e apresen-tamos tamb´em um estudo mais aprofundado de duas dessas t´ecnicas. O primeiro algoritmo apresentado est´a baseado na correla¸c˜ao entre p´ıxeis e detecta se existe a c´opia de uma parte da imagem para outro lado na mesma imagem, de forma a ocultar uma pessoa ou objecto. O segundo algoritmo, baseia-se no estudo da correla¸c˜ao entre os planos bin´arios da imagem, para detectar se existiu algum tipo de altera¸c˜oes na imagem, como por exemplo aumento do brilho ou mesmo a rota¸c˜ao da imagem.

(10)
(11)

Abstract Over the last years we have observed a significant evolution in the capture hardware and editing software for digital imaging. At the same time, the cost of the equipment has also decreased, especially at the level of editing software, where there are several freeware programs, for example GIMP [1], which was used in this thesis. The observed evolution has increased the concern about the veracity of the images, which appear every day in the media. With this, the saying ”a picture is worth a thousand words”begins to lose the meaning.

In order to combat this concern and increase public confidence in the digital images, over the last few years algorithms have been developed for detecting manipulations in images.

In this thesis, we present a study of the techniques presented over time for digital image manipulation and also present a further study of two of these techniques.

The first algorithm presented is based on the correlation between pixels and detects if there is a copy of a portion of the image to other location in the same image in order to hide a person or object. The second algorithm, based on the correlation between the binary planes of the image, detects if there was some kind of manipulation in the image, such as increased brightness or image rotation.

(12)
(13)

Conte´

udo

Conte´udo i

Lista de Figuras iii

Lista de Tabelas v

1 Introdu¸c˜ao 1

1.1 Contribui¸c˜oes desta tese . . . 3

1.2 Estrutura da tese . . . 3

2 Estado da arte 5 2.1 Informa¸c˜ao retirada dos p´ıxeis da imagem . . . 5

2.1.1 Clonagem . . . 5

2.1.2 Reamostragem . . . 6

2.1.3 Jun¸c˜ao . . . 7

2.1.4 Estat´ısticas . . . 7

2.2 Informa¸c˜ao sobre o formato da imagem . . . 8

2.2.1 Quantiza¸c˜ao JPEG . . . 8

2.2.2 Duplo JPEG . . . 8

2.2.3 Artefactos de bloco no JPEG . . . 9

2.3 Informa¸c˜ao relativa `a captura da imagem . . . 10

2.3.1 Desvio crom´atico . . . 10

2.3.2 Arrays de filtros de cor . . . 12

2.3.3 Resposta da cˆamara . . . 13

2.3.4 Sensor de ru´ıdo . . . 14

2.4 Informa¸c˜ao baseada no ambiente f´ısico . . . 15

2.4.1 Direc¸c˜ao da luz 2-D . . . 15

2.4.2 Direc¸c˜ao da luz 3-D . . . 16

2.4.3 Luz ambiente . . . 18

2.5 Informa¸c˜ao baseada na geometria . . . 19

3 Algoritmo baseado na correla¸c˜ao entre p´ıxeis 21 3.1 Conceitos b´asicos . . . 22

3.2 Algoritmo . . . 22

3.3 Resultados experimentais . . . 25

(14)

4 Algoritmo baseado na correla¸c˜ao entre planos bin´arios 33 4.1 Conceitos b´asicos . . . 34 4.2 Algoritmo . . . 35 4.3 Resultados experimentais . . . 38 4.4 Discuss˜ao . . . 38 5 Conclus˜oes 41 Bibliografia 43

(15)

Lista de Figuras

1.1 Exemplo de uma imagem de um soldado britˆanico . . . 1

1.2 Processo de capta¸c˜ao de uma imagem[2]. . . 2

1.3 Exemplo de altera¸c˜ao clonagem . . . 3

2.1 Exemplo de altera¸c˜ao clonagem . . . 6

2.2 Exemplo de altera¸c˜ao reamostragem . . . 7

2.3 Exemplo JPEG blocking . . . 10

2.4 Exemplo desvio crom´atico . . . 11

2.5 Exemplo refrac¸c˜ao da luz 1-D . . . 11

2.6 Exemplo refrac¸c˜ao da luz 2-D . . . 12

2.7 Resposta da cˆamara (CRF) . . . 14 2.8 Estimar ru´ıdo . . . 15 2.9 Direc¸c˜ao da luz 2-D . . . 17 2.10 Direc¸c˜ao da luz 3-D . . . 17 2.11 Direc¸c˜ao da luz 3-D . . . 18 3.1 Vizinhan¸ca de p´ıxeis . . . 21 3.2 Aplicar DCT . . . 22

3.3 Parte de uma imagem copiada de um lado para o outro [3]. . . 23

3.4 Diagrama de blocos do algoritmo 1. . . 23

3.5 Percorrer bloco . . . 24

3.6 Mesmo vector deslocamento [3]. . . 25

3.7 Imagem com uma altera¸c˜ao. . . 28

3.8 Imagem com uma altera¸c˜ao. . . 28

3.9 Imagem com uma altera¸c˜ao. . . 28

3.10 Imagem com uma altera¸c˜ao. . . 28

3.11 Imagem com uma altera¸c˜ao. . . 28

3.12 Imagem com uma altera¸c˜ao. . . 29

3.13 Imagem com uma altera¸c˜ao. . . 29

3.14 Imagem com duas altera¸c˜oes. . . 29

3.15 Imagem com duas altera¸c˜oes. . . 29

3.16 Imagem com duas altera¸c˜oes. . . 29

3.17 Imagem com duas altera¸c˜ao. . . 30

3.18 Imagem com trˆes altera¸c˜oes. . . 30

3.19 Imagem com trˆes altera¸c˜oes. . . 30

(16)

3.21 Imagem com trˆes altera¸c˜ao. . . 30

3.22 Imagem com trˆes altera¸c˜oes. . . 31

3.23 Imagem com quatro altera¸c˜oes. . . 31

3.24 Imagem com seis altera¸c˜oes. . . 31

4.1 Planos Bin´arios . . . 33

4.2 Plano Bin´ario . . . 34

4.3 Exemplo de altera¸c˜ao . . . 35

4.4 P´ıxeis vizinhos . . . 36

(17)

Lista de Tabelas

3.1 Q: tabela de quantiza¸c˜ao JPEG. . . 25

3.2 Tabela de resultados obtidos com o algoritmo baseado na DCT. . . 26

3.3 Tabela de resultados obtidos com o algoritmo baseado nos blocos originais. . 27

4.1 Peso dos vizinhos . . . 37

4.2 Resultados do algoritmo 2 . . . 38

4.3 Resultados do algoritmo 2 . . . 39

(18)
(19)

Cap´ıtulo 1

Introdu¸

ao

Vivemos numa era em que a utiliza¸c˜ao de imagens digitais atingiu propor¸c˜oes outrora impens´aveis. Com a disponibilidade de equipamentos de fotografia digital a custos muito acess´ıveis, a maioria das pessoas capta imagens e v´ıdeos digitais a um ritmo elevado, sendo muito desse conte´udo partilhado atrav´es de canais como o youtube ou facebook.

Tamb´em ao n´ıvel da comunica¸c˜ao social, nomeadamente escrita, televisiva, entre outras, o uso da fotografia digital ´e comummente utilizada, e enquanto no passado se podia confiar nos dados apresentados por esses meios, com a evolu¸c˜ao da tecnologia, hoje em dia vivemos num mundo onde n˜ao podemos acreditar em tudo o que vemos ou ouvimos. Actualmente a tecnologia est´a de tal maneira avan¸cada, que qualquer pessoa pode com relativa facilidade alterar dados multim´edia digitais, como por exemplo, alterar uma imagem (um exemplo pode ser visto na Figura. 1.1).

Figura 1.1: Exemplo de uma imagem de um soldado britˆanico em Basra, Iraque, alterada digitalmente. A imagem da esquerda foi publicada na primeira p´agina do jornal Los Angeles Times em 2003 e provou-se resultar da composi¸c˜ao da imagem do centro e da direita [4]

Durante os ´ultimos anos, surgiu uma nova ´area de investiga¸c˜ao no campo do processa-mento de sinal designada por image forensics. O objectivo ´e voltar a restaurar a confian¸ca dos dados digitais de modo a garantir que os mesmos n˜ao foram alterados ap´os a aquisi¸c˜ao. Alguns trabalhos cient´ıficos foram propostos nesta ´area, dos quais destacamos [5], [6], [7].

Nesta disserta¸c˜ao iremos estudar o problema da detec¸c˜ao de altera¸c˜oes feitas em imagens digitais, apresentando um resumo dos v´arios m´etodos propostos na literatura e alguns resul-tados experimentais que exemplificam a aplica¸c˜ao de alguns desses m´etodos.

(20)

Para melhor se perceber o problema, vamos come¸car por apresentar alguns conceitos sobre imagem digital e apresentar algumas das altera¸c˜oes que podem ser efectuadas nas imagens e que se revelam impercept´ıveis ao olho humano, sendo necess´ario algoritmos de processamento de imagem para a sua detec¸c˜ao.

Uma imagem digital n˜ao ´e mais do que uma matriz de pontos, definidos por valores num´ericos, onde cada um desses pontos vai ser denominado p´ıxel. Nesta disserta¸c˜ao uti-lizamos imagens em formato RGB. O RGB ´e um sistema aditivo de cores formado por Ver-melho (Red), Verde (Green) e Azul (Blue), onde todas as outras cores s˜ao obtidas atrav´es de combina¸c˜oes destas trˆes. Cada um dos p´ıxeis ´e composto por um conjunto de trˆes valores, sendo cada um deles reprentado por 8 bits (pode variar entre 0 e 255) que representam cada uma das cores. Assim sendo o vermelho num p´ıxel n˜ao ´e mais do que o vector (255,0,0).

O processo de aquisi¸c˜ao de uma imagem num aparelho de capta¸c˜ao (Figura 1.2) ´e o seguinte. A luz passa atrav´es da lente e do filtro ´optico e ´e capturada pelos sensores de cor. A maioria das m´aquinas digitais usa um array de filtros de cor ”Color Filter Array”para retratar o mundo real. O CFA consiste num array de sensores de cor, onde cada qual captura a cor correspondente do mundo real numa localiza¸c˜ao aproximada do p´ıxel. Depois de obtida a informa¸c˜ao pelo CFA, esta ´e guardada e os restantes p´ıxeis s˜ao interpolados usando os p´ıxeis vizinhos. Depois de interpoladas, as trˆes imagens correspondentes `as componentes vermelho, verde e azul, passam atrav´es de um bloco de p´os-processamento. Este bloco depende do modelo da m´aquina, contendo por exenplo, o balanceamento de brancos. Por fim a imagem pode sofrer uma compress˜ao JPEG para reduzir o espa¸co de armazenamento [2].

Figura 1.2: Processo de capta¸c˜ao de uma imagem[2].

Existem muitas e variadas maneiras de proceder a altera¸c˜oes numa imagem, entre elas a clonagem, que consiste em copiar um peda¸co da imagem para outro lugar na mesma imagem, de modo a ocultar pessoas ou objectos, como podemos ver na Figura 1.3. Outros exemplos de altera¸c˜oes de uma imagem s˜ao, por exemplo, redimensionamento, isto ´e, aumentar ou diminuir o seu tamanho, rota¸c˜ao, etc. Estes tipos de altera¸c˜oes s˜ao mais utilizados quando s˜ao unidas duas ou mais imagens. Por exemplo, como muitas vezes aparece em revistas, dois famosos (jogadores de futebol, apresentadores de televis˜ao, etc.), onde se diz que est˜ao numa rela¸c˜ao amorosa e aparece uma imagem com esses mesmos famosos de m˜ao dada na praia [8].

(21)

Figura 1.3: A imagem da esquerda foi alterada de maneira a esconder o contentor, resultando na imagem da direita [9].

1.1

Contribui¸

oes desta tese

Ao longo desta tese vamos realizar um estudo sobre os m´etodos existentes para detectar altera¸c˜oes numa imagem. Vamos descrever as v´arias formas como uma imagem pode ser al-terada e descrevemos tamb´em as diferentes maneiras de como detectar as referidas altera¸c˜oes. Implement´amos dois algoritmos para assim aprofundar o estudo de duas formas de detectar altera¸c˜oes numa imagem. Desta forma foi poss´ıvel verificar a efic´acia dos ditos algoritmos, atrav´es da demonstra¸c˜ao dos resultados obtidos.

O primeiro algoritmo ´e usado para detectar altera¸c˜oes do tipo clonagem, descrito em cima. O m´etodo utilizado ´e baseado na correla¸c˜ao entre os p´ıxeis da imagem, isto ´e, estuda-se a forma como cada p´ıxel se relaciona com os outros p´ıxeis.

O segundo algoritmo ´e utilizado para descobrir se as imagens foram, por exemplo, redimen-sionadas ou rodadas. Este algoritmo utiliza um m´etodo de detec¸c˜ao baseado no tipo de rela¸c˜ao que os v´arios planos bin´arios da imagem tˆem entre si.

Em termos de trabalho futuro, o trabalho aqui desenvolvido ´e um bom ponto de partida para quem desejar seguir a ´area da an´alise forense de imagens digitais. A partir deste trabalho ´e poss´ıvel abordar o desenvolvimento de algoritmos mais complexos, visto que esta ´e uma ´area que ainda tem muito por descobrir.

1.2

Estrutura da tese

Esta disserta¸c˜ao est´a estruturada em 5 cap´ıtulos. No Cap´ıtulo 2 apresentamos o que foi feito nos ´ultimos anos sobre como detectar altera¸c˜oes em imagem digital, isto ´e, descrevemos como os diferentes tipos de altera¸c˜oes s˜ao efectuados assim como as t´ecnicas existentes ac-tualmente para detectar esses tipos de altera¸c˜oes. No Cap´ıtulo 3 vamos descrever com maior detalhe um algoritmo de detec¸c˜ao de altera¸c˜aes em imagens, mais propriamente, o algoritmo que detecta a c´opia de um ou mais peda¸cos de uma imagem para outro lado da mesma im-agem. Este algoritmo ´e baseado no estudo da forma como os p´ıxeis se correlacionam entre si. No Cap´ıtulo 4 ´e apresentado um algoritmo para a detec¸c˜ao de imagens que sofreram um tipo de altera¸c˜ao que consiste em, por exemplo, redimensionar e/ou rodar uma imagem. Este algoritmo estuda a correla¸c˜ao entre os planos bin´arios da imagem. No Cap´ıtulo 5 s˜ao descritas todas as conclus˜oes retiradas do trabalho desenvolvido.

(22)
(23)

Cap´ıtulo 2

Estado da arte

Neste cap´ıtulo vai ser abordado o que at´e aqui foi feito na ´area da imagem digital forense, que ´e um conjunto de t´ecnicas que ajudam na detec¸c˜ao de falsifica¸c˜oes/adultera¸c˜oes em im-agens digitais. Neste cap´ıtulo descrevemos a forma de altera¸c˜ao das imim-agens e os algorit-mos utilizados para a descoberta dessa mesma altera¸c˜ao. As t´ecnicas usadas na detec¸c˜ao de altera¸c˜oes nas imagens podem ser divididas em v´arios grupos, de acordo com o tipo de informa¸c˜ao que ´e analisada nas imagens [10].

De acordo com a informa¸c˜ao que ´e retirada da imagem, os gupos referidos s˜ao cinco: • Informa¸c˜ao retirada dos p´ıxeis da imagem (Sec¸c˜ao 2.1).

• Informa¸c˜ao sobre o formato da imagem (Sec¸c˜ao 2.2). • Informa¸c˜ao relativa `a captura da imagem (Sec¸c˜ao 2.3). • Informa¸c˜ao baseada no ambiente f´ısico (Sec¸c˜ao 2.4). • Informa¸c˜ao baseada na geometria (Sec¸c˜ao 2.5).

2.1

Informa¸

ao retirada dos p´ıxeis da imagem

Nesta sec¸c˜ao vamos descrever quatro t´ecnicas que analisam directa ou indirectamente correla¸c˜oes ao n´ıvel do p´ıxel, que correspondem a uma forma especifica de altera¸c˜ao.

2.1.1 Clonagem

Consiste em copiar partes de uma imagem e coloc´a-las noutro lado da mesma imagem, normalmente para ocultar uma pessoa ou objecto (Figura 2.1).

Para detectar este tipo de adultera¸c˜ao, primeiro divide-se a imagem em blocos. Depois de termos a imagem em blocos, existem duas maneiras de efectuar a an´alise. A primeira consiste em aplicar uma transformada discreta do coseno (DCT) [9]; a segunda em aplicar a an´alise em componentes principais (PCA) [5]. O PCA tem como objectivo produzir uma representa¸c˜ao de dimens˜ao mais reduzida, enquanto que a DCT tem como propriedade que a informa¸c˜ao visual mais importante seja concentrada em apenas alguns coeficientes. Em ambos os casos colocam-se todos os blocos numa matriz, onde cada linha da matriz ´e um bloco. De seguida ordenam-se lexicograficamente todas as linhas da matriz, onde os blocos semelhantes s˜ao pares

(24)

adjacentes na lista ordenada. O maior n´umero de blocos semelhantes ´e por fim marcado na imagem.

A aplica¸c˜ao da DCT e do PCA, em cada um dos casos, serve para reduzir a complexidade computacional. Um estudo mais aprofundado do caso onde se utiliza a DCT vai ser abordado no Cap´ıtulo 3.

Figura 2.1: A imagem da esquerda foi alterada para esconder o jeep [9].

2.1.2 Reamostragem

Normalmente, as altera¸c˜oes em imagens digitais s˜ao feitas copiando uma parte de uma imagem e colando-a noutra imagem. Para isso torna-se necess´ario rodar ou redimensionar a parte da imagem que se vai colar (Figura 2.2). Isso envolve reamostrar a imagem colada no espa¸co de amostragem da imagem hospedeira, o que vai introduzir correla¸c˜oes espec´ıficas peri´odicas entre os p´ıxeis da imagem. Este m´etodo n˜ao deixa nenhum vest´ıgio percept´ıvel. Para come¸car vamos ent˜ao explicar como se efectua a reamostragem de um sinal, usando-se como exemplo um sinal de uma dimens˜ao (1-D). Supondo que temos um sinal x[t] com m amostras, o sinal pode ser aumentado/diminuido com um factor pq para n amostras em trˆes passos [11] [8]:

• Reamostrar para cima: criar um novo sinal xu[t] com pm amostras, inserindo p −1 zeros depois de cada x[t], com t=1,2,...m.

• Interpolar: convoluir o sinal xu[t] com um filtro passa baixo (atenua/reduz as frequˆencias mais elevadas), xi[t] = xu[t] ∗ h[t].

• Reamostrar para baixo: criar um novo sinal com n amostras, onde y[t] = xi[qt], t=1,2,...n.

Um simples exemplo do que foi descrito anteriormente pode ser redimensionar um sinal x[t] com um factor de 21, usando interpola¸c˜ao linear, para produzir y[t]. As amostras ´ımpares do sinal reamostrado v˜ao ficar com os valores do sinal original: y[2i − 1] = x[i], i = 1, 2, ..m. As amostras pares v˜ao ser a m´edia dos valores dos vizinhos adjacentes do sinal original: y[2i] = 0.5x[i] + 0.5x[i + 1]. Com isto podemos verificar que os p´ıxeis interpolados podem ser expressos a partir das amostras reamostradas : y[2i] = 0.5y[2i − 1] + 0.5y[2i + 1].

Para detectar este tipo de altera¸c˜oes em imagens, se for conhecida a forma como os p´ıxeis se correlacionam com os seus vizinhos, ´e f´acil determinar que p´ıxeis se correlacionam entre si. Por outro lado, se conhecermos os p´ıxeis que se correlacionam, ´e simples obter a

(25)

forma de correla¸c˜ao. Na pr´atica, normalmente n˜ao se conhece nem uma coisa nem outra. Nesse caso, vai ser utilizado um algoritmo de expectativa/maximiza¸c˜ao (EM), que ´e um algoritmo iterativo de duas etapas, que estima simultaneamente o conjunto de p´ıxeis que se correlacionam com os seus vizinhos (1) e a forma como se correlacionam (2). Em (1) ´e utilizado um estimador Bayesiano enquanto que em (2) ´e utilizada uma estimativa dos m´ınimos quadrados ponderados.

Figura 2.2: Foi inserida uma nova chapa de matr´ıcula. Para isso a imagem inserida teve de ser redimensionada [8].

2.1.3 Jun¸c˜ao

A jun¸c˜ao de imagens consiste em copiar e colar partes de uma imagem, na mesma ou noutra imagem, sem qualquer tipo de p´os-processamento. Esta ´e a opera¸c˜ao b´asica de uma montagem fotogr´afica, mas que se for feita com cuidado, as bordas da jun¸c˜ao s˜ao imper-cept´ıveis ao olho humano. Este tipo de adultera¸c˜ao interrompe as estat´ısticas de Fourier de ordem superior [10], que podem ser usadas para detectar se as imagens foram modificadas.

O biespectro B(ω1, ω2) = X(ω1)X(ω2)X∗(ω1+ ω2) mede as correla¸c˜oes de ordem superior entre as frequˆencias ω1, ω2e(ω1+ ω2), onde X(ω) denota a transformada de Fourier e X∗(ω) o seu conjugado.

Apesar da jun¸c˜ao entre imagens ser feita em duas dimens˜oes, esta altera¸c˜ao na imagem ´e detectada aplicando a an´alise anterior a sinais de uma dimens˜ao, obtidos atrav´es de cortes verticais e horizontais da imagem alterada. Um sinal composto pela jun¸c˜ao de dois segmentos de sinais, muito provavelmente introduz descontinuidades ou mudan¸cas abruptas no ponto da jun¸c˜ao [12]. Estas descontinuidades s˜ao usadas para determinar se a imagem foi ou n˜ao modificada.

2.1.4 Estat´ısticas

Existem muitas formas de modificar uma imagem, como por exemplo, redimensiona-mento, ajuste de brilho, rota¸c˜ao, entre outras. Para detectar estes tipos de altera¸c˜ao existem dois m´etodos que podem ser utilizados: um m´etodo baseado nas correla¸c˜oes entre os planos bin´arios da imagem [6], m´etodo que vai ser descrito com maior detalhe no Cap´ıtulo 4; um m´etodo baseado na decomposi¸c˜ao do espa¸co de frequˆencias [13].

O primeiro m´etodo, baseia-se na ideia de que as correla¸c˜oes entre os planos bin´arios v˜ao diferir entre uma imagem alterada e uma imagem original. Come¸ca-se por dividir a imagem de

(26)

acordo com os seus planos bin´arios e em seguida calculam-se as Binary Similarity Measures, que s˜ao as correla¸c˜oes entre os planos bin´arios. A segunda t´ecnica citada anteriormente, ex-plora as regularidades estat´ısticas das imagens naturais. Em primeiro decomp˜oe-se o espa¸co de frequˆencia em v´arias sub-bandas. O modelo estat´ıstico ´e composto pelos primeiros quatro momentos estat´ısticos de cada uma das sub-bandas e as estat´ısticas de ordem superior, que capturam as correla¸c˜oes entre as v´arias sub-bandas. Por momentos estat´ısticos entende-se: c´alculo do valor m´edio, dispers˜ao dos dados, simetria dos dados e concentra¸c˜ao dos dados em torno do valor m´edio.

Em ambos os m´etodos ´e utilizado um classificador para determinar, com base nos mo-mentos estat´ısticos retirados da imagem, se uma imagem sofreu ou n˜ao modifica¸c˜oes.

2.2

Informa¸

ao sobre o formato da imagem

Nos dias de hoje, as cˆamaras digitais exportam as suas imagens para o formato JPEG. Este m´etodo permite alguma flexibilidade na quantidade de compress˜ao obtida [14]. Nesta sec¸c˜ao vamos falar um pouco de trˆes t´ecnicas que exploram detalhes introduzidos pela compress˜ao com perdas JPEG.

2.2.1 Quantiza¸c˜ao JPEG

O esquema de compress˜ao JPEG come¸ca por converter uma imagem de trˆes canais de cores (RGB) para o espa¸co de luminˆancia / crominˆancia (YCbCr). Cada um dos canais ´e depois particionado em blocos de pixeis de 8x8. Estes valores s˜ao convertidos de valores sem sinal para valores com sinal. Cada um dos blocos obtidos anteriormente ´e convertido para o espa¸co de frequˆencia usando a transformada discreta do coseno (DCT), e de seguida, cada coeficiente da DCT, c, ´e quantizado com um valor q: cq = round(cq). Por fim ´e empregue uma codifica¸c˜ao da entropia. Esta sequˆencia de passos ´e utilizada pelas m´aquinas fotogr´aficas/v´ıdeo e pelos programas de edi¸c˜ao, com algumas varia¸c˜oes, como por exemplo a forma de quantiza¸c˜ao. A forma de detectar se uma imagem no formato JPEG foi alterada, passa por pegar na imagem e retirar a tabela de quantiza¸c˜ao e compar´a-la com as tabelas de quantiza¸c˜ao das m´aquinas digitais e dos programas de edi¸c˜ao. Para esta t´ecnica de detec¸c˜ao ´e necess´ario saber as tabelas de quantiza¸c˜ao que as m´aquinas fotogr´aficas digitais e os programas de edi¸c˜ao utilizam para comprimir as imagens em JPEG [14].

2.2.2 Duplo JPEG

O problema do JPEG duplo surge quando uma imagem ´e descomprimida (por exemplo, quando se abre a imagem com um programa de edi¸c˜ao) e em seguida ´e guardada outra vez com uma matriz de quantiza¸c˜ao diferente. A compress˜ao dupla resulta, na maioria das vezes, de quando uma por¸c˜ao de uma imagem ´e substitu´ıda por um bocado de outra imagem. Neste caso, quando se guarda a imagem, o peda¸co de imagem que foi colado na outra vai apresen-tar caracter´ısticas de uma s´o compress˜ao enquanto o resto da imagem vai apresentar tra¸cos relativos a duas compress˜oes. Este tipo de observa¸c˜ao pode ser usado para detectar ´areas manipuladas em imagens digitais.

(27)

A compress˜ao dupla JPEG pode ser representada por uma compress˜ao seguida de uma descompress˜ao e uma segunda compress˜ao. A descompress˜ao funciona de maneira contr´aria `a compress˜ao, apresentada na Sec¸c˜ao 2.2.1. Em primeiro lugar, para cada bloco, os coeficientes quantizados obtidos a partir do ficheiro s˜ao multiplicados pelos coeficientes de quantiza¸c˜ao guardados na matriz de quantiza¸c˜ao. Depois ´e calculada a IDCT (o inverso da DCT) e por ´

ultimo os valores s˜ao arredondados para inteiros e truncados para o intervalo [0,255]. Na compress˜ao dupla, a compress˜ao JPEG ´e realizada duas vezes, com matrizes de quantiza¸c˜ao diferentes. Na imagem original JPEG, os coeficientes da DCT s˜ao quantizados com uma matriz de quantiza¸c˜ao, pelo que o valor do coeficiente da DCT vai ser m´ultiplo do coeficiente de quantiza¸c˜ao. Aquando da descompress˜ao, como j´a foi dito, os p´ıxeis v˜ao ser arredondados e truncados para inteiros no intervalo [0,255]. A segunda compress˜ao vai ser feita a partir dos valores arredondados e truncados, o que vai fazer com que os coeficientes percam os seus valores inteiros e deixem de ser m´ultiplos da primeira matriz de quantiza¸c˜ao, mas esses valores v˜ao ficar espalhados em torno desses m´ultiplos. Por fim os coeficientes v˜ao ser quantizados com a segunda tabela de quantiza¸c˜ao.

A concentra¸c˜ao dos coeficientes em torno dos m´ultiplos da primeira matriz de quantiza¸c˜ao e a seguinte quantiza¸c˜ao com a segunda matriz vai criar padr˜oes nos histogramas dos coe-ficientes da DCT que podem ser usados para identificar o primeiro factor de quantiza¸c˜ao. Quando a primeira matriz de quantiza¸c˜ao ´e superior `a segunda matriz de quantiza¸c˜ao, alguns m´ultiplos da segunda matriz de quantiza¸c˜ao desaparecem dos histogramas. No caso contr´ario, alguns m´ultiplos da segunda matriz de quantiza¸c˜ao formam m´aximos e m´ınimos locais. Esses pontos desaparecidos e os m´aximos/m´ınimos s˜ao ent˜ao utilizados para identificar a primeira matriz de quantiza¸c˜ao e assim provar que a imagem sofreu duas compress˜oes JPEG [15].

Contudo, esta ´e uma abordagem que n˜ao vai poder provar a existˆencia de altera¸c˜oes numa imagem digital, uma vez que ´e poss´ıvel guardar-se uma imagem inadvertidamente depois de simplesmente a ter vizualizado [10].

2.2.3 Artefactos de bloco no JPEG

O formato JPEG ´e usado na maioria das m´aquinas digitais e programas de processamento de imagem. Normalmente a compress˜ao JPEG introduz artefactos de bloco, que resultam do facto da compress˜ao JPEG utilizar blocos de 8x8 pix´eis e cada um desses blocos ser proces-sado individualmente no c´alculo da DCT e quantiza¸c˜ao. Os fabricantes de m´aquina digitais e programas de processamente utilizam diferentes tabelas de quantiza¸c˜ao, o que vai causar diferentes artefactos de bloco. Quando se efectua algum tipo de altera¸c˜ao numa imagem, a imagem alterada vai ficar com diferentes tipos de artefactos de compress˜ao provenientes de diferentes fontes. Este tipo de inconsistˆencias nos artefactos serve para atestar a n˜ao integri-dade de uma imagem.

Os artefactos de bloco s˜ao calculados da seguinte maneira:

B(i) = 64 X k=1 D(k) − Q(k)round D(k) Q(k)  ,

(28)

posi¸c˜ao k e Q ´e a tabela de quantiza¸c˜ao estimada. A medida do artefacto de bloco (BAM) ´e dada por: BAM = N1 P

iB(i), onde N ´e o n´umero de blocos total da imagem [16].

Figura 2.3: `A esquerda, uma imagem alterada e `a direita, artefactos de bloco detectados (BAM=2136.5) [16].

2.3

Informa¸

ao relativa `

a captura da imagem

Nesta sec¸c˜ao vamos falar de quatro t´ecnicas que exploram as caracter´ısticas introduzidas nos v´arios passos de aquisi¸c˜ao de uma imagem.

2.3.1 Desvio crom´atico

A maioria das imagens cont´em uma variedade de desvios crom´aticos que resultam de im-perfei¸c˜oes nos sistemas ´opticos das cˆamaras digitais. Num sistema ideal, a luz passa atrav´es de uma lente para um ponto ´unico no sensor. No entanto, o sistema ´optico desvia-se do modelo ideal, no modo em que n˜ao consegue focar a luz perfeitamente para todos os comprimentos de onda. Isto faz com que exista um efeito conhecido como desvio crom´atico que ocorre em duas formas: longitudinal e lateral. O desvio longitudinal manifesta-se nas diferen¸cas nos planos de foco para os diferentes comprimentos de onda da luz. O desvio lateral manifesta-se atrav´es de um deslocamento nas localiza¸c˜oes onde a luz de diferentes comprimentos de onda alcan¸ca o sensor (deslocamento proporcional `a distˆancia para o centro ´optico). O desvio longitudinal pode ser modelado como uma convolu¸c˜ao dos canais de cor individuais com um filtro passa baixo adequado. O desvio lateral pode ser modelado como uma expans˜ao/contrac¸c˜ao dos canais de cor em rela¸c˜ao uns aos outros. Quando se altera uma imagem, estes devios s˜ao muitas vezes perturbados e deixam de ser consistentes ao longo da imagem. De seguida vai ser descrita uma forma de estimar o desvio crom´atico lateral.

Para come¸car podemos dizer que, nas ´opticas cl´assicas, a refrac¸c˜ao da luz entre duas superf´ıcies ´e descrita pela lei de Snell: n sin(θ) = nf(θf), onde θ ´e o ˆangulo de incidˆencia, θf ´e o ˆangulo de refrac¸c˜ao e n e nf s˜ao os ´ındices de refrac¸c˜ao das superf´ıcies pelas quais a luz passa. O ´ındice de refrac¸c˜ao do vidro, θf, depende do comprimento de onda que o atravessa. Esta dependˆencia implica que uma luz policrom´atica seja separada de acordo com o comprimento de onda que deixa a lente e chega ao sensor. O resultado desta separa¸c˜ao da luz denomina-se desvio crom´atico lateral. Considerando como exemplo a Figura 2.5, podemos verificar a posi¸c˜ao no sensor dos diferentes comprimentos de onda, onde xrmostra a posi¸c˜ao de

(29)

um comprimento de onda baixo (vermelho) e xb a posi¸c˜ao de um comprimento de onda longo (azul). No caso de n˜ao existir desvio crom´atico lateral, estas posi¸c˜oes devem ser coincidentes, caso contr´ario podem ser modeladas por xr ≈ αxb, onde α ´e um valor escalar. Para sensores e lentes de duas dimens˜oes, o desvio crom´atico pode ser modelado por xr, yr ≈ α(xb, yb). Podemos ver na Figura 2.6 a representa¸c˜ao baseada em vectores deste tipo de desvio onde cada vector ´e ~v = (xr− xb, yr− yv). Este modelo n˜ao ´e mais do que uma expans˜ao/contrac¸c˜ao em redor do centro da imagem. Com isto, podemos descrever a posi¸c˜ao do centro atrav´es de (x0, y0), ficando ent˜ao

xr = α(xb− x0) + x0yr= α(yb− y0) + y0.

Uma vez que o desvio crom´atico lateral resulta num desalinhamento (expans˜ao ou con-trac¸c˜ao) entre os canais de cor de uma imagem, este modelo vai maximizar o alinhamento dos canais de cor, mais especificamente a informa¸c˜ao entre os canais vermelho e verde e da mesma forma entre os canais azul e verde. As estimativas local e global dos desvios crom´aticos s˜ao depois comparadas para detectar altera¸c˜oes nas imagens.

Figura 2.4: `A esquerda, uma imagem original e `a direita uma imagem alterada. Blocos verdes denotam regi˜oes que est˜ao consistentes com os desvios globais estimados, os blocos vermelhos n˜ao est˜ao [17].

Figura 2.5: Refrac¸c˜ao da luz numa dimens˜ao. Uma luz policrom´atica entra na lente num ˆangulo θ e emerge num ˆangulo que depende do comprimento de onda. Diferentes comprimen-tos de onda chegam ao sensor em poncomprimen-tos diferentes xr e xb [17].

(30)

Figura 2.6: Refrac¸c˜ao da luz em duas dimens˜oes. Uma luz policrom´atica entra na lente num ˆangulo θ e emerge num ˆangulo que depende do comprimento de onda. Diferentes comprimen-tos de onda chegam ao sensor em poncomprimen-tos diferentes [17].

2.3.2 Arrays de filtros de cor

Hoje em dia, a sofistica¸c˜ao e baixo custo das tecnologias digitais, tanto hardware como software, faz com que estas sejam parte integrante do nosso dia-a-dia. A facilidade de criar, editar e alterar imagens sem deixar nenhuma suspeita, faz com que a credibilidade das ima-gens digitais seja pouco ou mesmo nenhuma. Posto isto, s˜ao necess´arias t´ecnicas para detectar a fonte da imagem, isto ´e, a cˆamara com a qual a imagem foi obtida. Em seguida vamos de-screver uma t´ecnica que permite descobrir a origem da imagem, explorando a interpola¸c˜ao na superf´ıcie de cor devido ao uso de arrays de filtros de cor (CFA).

De forma a entender melhor o problema, vamos come¸car por descrever a forma como uma imagem ´e formada numa cˆamara digital. O modo geral est´a explicado no Cap´ıtulo 1 e na Figura 1.2. Vamos explicar a parte dos sensores em maior detalhe. Ap´os a luz passar atrav´es da lente, esta ´e filtrada e focada num CCD (charge-coupled device), que ´e um disposito que integra a luz incidente em todo o espectro e a tranforma num sinal el´ectrico. Uma vez que o CCD ´e mono-crom´atico, s˜ao necess´arios v´arios CCD, um para cada elemento de cor. Devido ao facto de os CCD serem muito caros, o CCD ´e organizado num padr˜ao usando diferentes filtros espectrais, sendo o RGB o mais usado. A este m´etodo chama-se array de filtros de cor (CFA). Com isto, para cada p´ıxel s´o uma amostra de cor vai ser guardada, sendo as outras duas estimadas a partir das amostras vizinhas, de modo a obter uma imagem com trˆes canais de cor. A este passo chama-se demosaicking ou interpola¸c˜ao, que ´e normalmente realizada aplicando uma matriz ponderada (kernel) `a vizinhan¸ca do valor em falta.

Uma vez que numa cˆamara digital tradicional os canais RGB est˜ao fortemente interpo-lados, ´e proposto um algoritmo de expectativa/maximiza¸c˜ao (EM), de modo a detectar os vest´ıgios da interpola¸c˜ao. O algoritmo EM ´e baseado em dois passos, o de expectativa, que est´a relacionado com as vari´aveis desconhecidas subjacentes e que usa as estimativas actuais dos parˆametros, e o passo de maximiza¸c˜ao, que fornece uma nova estimativa dos parˆametros, sendo estas etapas iteradas at´e convergirem. Com este algoritmo s˜ao geradas duas sa´ıdas, uma delas um mapa de probabilidade (array de duas dimens˜oes) onde cada entrada mostra a semelhan¸ca entre cada p´ıxel da imagem e um de dois grupos de amostras, sendo estes os dos p´ıxeis correlacionados com os vizinhos e os dos que n˜ao est˜ao correlacionados. A outra sa´ıda ´e a estimativa dos coeficientes de interpola¸c˜ao, que ´e a contribui¸c˜ao de cada p´ıxel para

(31)

o kernel de interpola¸c˜ao. Numa imagem sem altera¸c˜oes, espera-se que um padr˜ao peri´odico de p´ıxeis esteja correlacionado com os seus vizinhos, enquanto que numa imagem que sofreu altera¸c˜oes isso n˜ao se vai verificar [18].

2.3.3 Resposta da cˆamara

Aqui vamos descrever um m´etodo que detecta altera¸c˜oes em imagens, verificando a con-sistˆencia das caracteristicas da cˆamara digital ao longo de diferentes ´areas da imagem, mais concretamente a resposta da cˆamara, camera response function (CRF). O tipo de altera¸c˜ao que este m´etodo cobre ´e aquele onde se cola numa imagem um peda¸co vindo de outra imagem. Este m´etodo assenta no facto de as imagens alteradas conterem normalmente ´areas suspeitas com caracter´ısticas diferentes de outras ´areas da mesma imagem. Para detectar as referidas ´areas s˜ao necess´arias duas solu¸c˜oes: uma segmenta¸c˜ao da imagem e uma recupera¸c˜ao das caracter´ısticas da cˆamara digital em cada ´area.

Para partir a imagem, vai ser necess´ario indicar previamente o n´umero de segmentos, que conv´em estar entre 2 e 20, para as fronteiras entre segmentos serem suficientemente largas. Em seguida, cada segmento dessas fronteiras vai ser dividido em v´arias categorias: (1) autˆenticos, quando os dois lados do segmento pertencem `a mesma cˆamara; (2) unidos, quando cada um dos lados do segmento pertence a cˆamaras diferentes; (3) amb´ıguos: quando um ou os dois lados do segmento contˆem caracter´ısticas de duas cˆamaras.

Vamos agora descrever os passos para estimar a CRF da cˆamara (Figura 2.7). A CRF transforma a irradia¸c˜ao r da luz em brilho R, utilizando o modelo da curva generalizada gama (GGCM) atrav´es da f´ormula:

R = f (r) = rPni=0αiri.

Em seguida s˜ao utilizados os pontos planares de irradia¸c˜ao local (LPIPs) para extrair informa¸c˜ao relacionada com a CRF, atrav´es de r = ax + by + c. Aplicando as derivadas parciais de segunda ordem na irradia¸c˜ao ficamos com

Rxx R2 x = Rxy Rxry = f′′(r) f′(r)2 = f′′(f−1(R)) (f′(f−1(R)))2,

a que vamos chamar de A(R). A partir daqui tiramos a geometria invariante (GI)

Q(R) = 1

1 − A(R)R.

A primeira ordem da GGCM Q(R) relaciona-se com os parˆametros da CRF usando Q(R) = (α1rln(r) + α1r+ α0)

2 α0− α1r

.

Para estimar a CRF, em primeiro lugar extrai-se as LPIPs, em seguida calculamos as GIs, e iterativamente procuramos os melhores parˆametros GGCM para ajustar os valores da GI.

No final ´e verificada a consistˆencia dos segmentos, calculando os erros de ajuste, utilizando as estimativas CRF e GI (valores Q e R). Para a decis˜ao final, os valores s˜ao passados por um classificador previamente treinado.

(32)

Figura 2.7: Passos para estimar a CRF da cˆamara [19].

2.3.4 Sensor de ru´ıdo

Durante todo o processo, desde o sensor da cˆamara at´e `a imagem estar gravada na mem´oria, existem variados passos (quantiza¸c˜ao, balanceamento de brancos, entre outros), o que introduz um tipo de assinatura distinta na imagem. O prop´osito deste m´etodo centra-se no uso das caracter´ısticas do ru´ıdo precentra-sente nas imagens digitais para analisar centra-se uma imagem ´e ou n˜ao alterada. A ideia neste caso parte do princ´ıpio que as altera¸c˜oes feitas numa imagem mudam as estat´ısticas do ru´ıdo na imagem de modo espec´ıfico, mudan¸cas essas que podem servir para uma an´alise forense.

De seguida, vamos descrever as trˆes metodologias utilizadas para estimar as caracter´ısticas do ru´ıdo numa imagem. Em primeiro lugar ´e usado um algoritmo de denoising (redu¸c˜ao de ru´ıdo) Figura 2.8 (a), que consiste em dada uma imagem I, obter-se a vers˜ao ID, com menos ru´ıdo. A estimativa do ru´ıdo da imagem nI no p´ıxel (i, j) ´e obtida a partir de nI(i, j) = I(i, j) − ID(i, j). Sendo

e(i, j) = log2(|nI(i, j)|),

a m´edia e o desvio padr˜ao de e(i, j) formam o primeiro conjunto de caracter´ısticas, f1(I) e f2(I). O segundo conjunto de caracter´ısticas ´e obtido a partir da an´alise em sub-bandas, Figura 2.8 (b). Uma imagem ´e decomposta em quatro sub-bandas, denominadas baixo-baixo (LL), baixo-alto (LH), alto-baixo (HL) e alto-alto (HH). A sub-banda LL vai conter componentes de baixa frequˆencia, enquanto que as outras trˆes contˆem componentes de alta frequˆencia. A partir daqui, extra´ımos as fun¸c˜oes estat´ısticas do ru´ıdo no dom´ınio da frequˆencia.

Para isso, normaliza-se a imagem, efectua-se a sua decomposi¸c˜ao e obtemos as trˆes sub-bandas de alta frequˆencia. Em seguida, para cada uma dessas sub-sub-bandas, calculamos a m´edia µy e o desvio padr˜ao σy dos seus coeficientes. A terceira fun¸c˜ao estat´ıstica, f3(I), vai ser o desvio padr˜ao. Com a m´edia µy e a variˆancia σy2 obtemos uma distribui¸c˜ao Gaussiana N(µy, σ2y). Sendo p(y) a fun¸c˜ao densidade da distribui¸c˜ao Gaussiana e q(y) a distribui¸c˜ao dos coeficientes das sub-bandas, vamos quantizar o ajuste Gaussiano medindo a distˆancia entre p(y) e q(y). Com isto vamos obter a quarta fun¸c˜ao estat´ıstica do ru´ıdo,

f(4)(I) =X i p(yi) − q(yi) ∆y,

onde i ´e o indice da barra do histograma e ∆y ´e o tamanho da barra.

Atrav´es da previs˜ao dos vizinhos, Figura 2.8 (c), vamos obter as ´ultimas duas fun¸c˜oes estat´ıstica do ru´ıdo. Dada uma imagem I, em primeiro lugar vamos identificar as suas regi˜oes

(33)

suaves de acordo com os seus valores de gradiente. Depois de calcular os valores de gradiente, vamos normalizar a imagem. Comparando os valores de gradiente horizontais gh e verticais gv com um limite tg, identificamos p´ıxeis na regi˜ao suave que pertencem aos dois gradientes. Colocando um limite no valor da intensidade do p´ıxel, a regi˜ao suave ´e ent˜ao partida em duas regi˜oes distintas: uma escura e outra clara. Para cada uma das regi˜oes vamos realizar a predi¸c˜ao dos vizinhos. Vamos predizer cada valor do p´ıxel bi, numa dada regi˜ao com um modelo linear nos oito vizinhos (ai,1− ai,8) ,

ˆ bi = 8 X k=1 xkai,k.

xk>0 ´e o peso associado a cada ai,k e a restri¸c˜ao n˜ao-negativa indica uma correla¸c˜ao positiva entre bi e os seus vizinhos. Dada uma regi˜ao com N p´ıxeis, denota-se os valores destes p´ıxeis como um vector coluna b = [b1, b2, ..., bN]T e os coeficientes n˜ao negativos dos pesos como um vector coluna x = [x1, x2, ..., xN]T. Os p´ıxeis s˜ao representados como um vector linha e todos organizados numa matrix A de tamanho N × 8. Os pesos x s˜ao estimados usando um m´etodo dos minimos quadrados n˜ao negativo, minx =

Ax− b , xk > 0, k = 1, 2, ..., 8. De seguida s˜ao calculados os erros de predi¸c˜ao ∆b =

ˆb− b

. f(5)(I) e f(6)(I) v˜ao ser a m´edia e o desvio padr˜ao de ∆b, respectivamente.

Depois de calculados todos os valores das fun¸c˜oes estat´ısticas do ru´ıdo, estes s˜ao passados por um classificador, para determinar se a imagem ´e ou n˜ao falsificada [20].

Figura 2.8: Estimar as caracter´ısticas do ru´ıdo, (a) Algoritmo de denoising, (b) An´alise em sub-bandas, (c) Previs˜ao dos vizinhos [20].

2.4

Informa¸

ao baseada no ambiente f´ısico

Nesta sec¸c˜ao vamos descrever trˆes t´ecnicas para estimar diferentes propriedades da luz ambiente, na qual uma pessoa ou objecto foi fotografado.

2.4.1 Direc¸c˜ao da luz 2-D

Quando se cria uma imagem, que ´e a jun¸c˜ao de duas pessoas lado a lado, mas foram fotografadas em locais diferentes, ´e muito dif´ıcil combinar as condi¸c˜oes da luz das fotografias

(34)

individuais na imagem final. As inconsistˆencias da luz na imagem podem ser utilizadas para detectar tra¸cos de adultera¸c˜oes numa imagem. Nesta sec¸c˜ao vamos descrever como se pode estimar a direc¸c˜ao do ponto de luz a partir de uma ´unica imagem.

Para estimar a direc¸c˜ao da luz numa imagem, come¸camos por fazer algumas suposi¸c˜oes: (1) a superf´ıcie de interesse ´e Lambertiana (reflecte a luz uniformemente); (2) a superf´ıcie tem um valor de reflectˆancia constante; (3) a superf´ıcie ´e iluminada por uma fonte pontual de luz infinitamente longe; A partir das suposi¸c˜oes anteriores podemos expressar a intensidade da imagem atrav´es de

I(x, y) = R( ~N(x, y).~L) + A,

onde R ´e o valor da reflectˆancia, ~L ´e um vector que aponta na direc¸c˜ao da luz, ~N(x, y) ´e um vector que representa a normal `a superf´ıcie no ponto (x, y) e A ´e uma constante da luz ambiente. Como s´o a direc¸c˜ao da fonte de luz ´e que interessa, pode-se considerar que a reflectˆancia tem o valor unit´ario. O objectivo ´e determinar o ponto de luz a partir de uma ´

unica imagem. Para isso, a componente z da normal `a superf´ıcie vai ser zero (Nz = 0) e as componentes x e y (Nx e Ny), v˜ao ser estimadas a partir da imagem, ficando a intensidade da imagem a ser representada por

I(x, y) = ~N(x, y).~L+ A = ( ~N(x, y) ~N(x, y))Lx Ly

 + A.

Usando no m´ınimo quatro pontos com a mesma reflectˆancia, R, e distintas normais `a superf´ıcie, ~N, a direc¸c˜ao da luz e constante de ambiente podem ser obtidas pela estimativa padr˜ao dos m´ınimos quadrados. A fun¸c˜ao de erro quadrado, contendo a equa¸c˜ao anterior, ´e

E(~L, A) = M   Lx Ly A  −      I(x1, y1) I(x2, y2) .. . I(xp, yp)      2 = M ~v−~b 2 , M =      Nx(x1, y1) Ny(x1, y1) 1 Nx(x2, y2) Ny(x2, y2) 1 .. . ... ... Nx(xp, yp) Ny(xp, yp) 1      ,

que pode ser minimizada para produzir

~v= (MTM)−1MT~b.

Este processo pode ser repetido para diferentes objectos ou pessoas presentes na imagem, de modo a verificar se existem inconsistˆencias na luz, e assim provar a modifica¸c˜ao da imagem.

2.4.2 Direc¸c˜ao da luz 3-D

Na Figura 2.10 podemos ver a imagem de um j´uri de um programa americano, que se confirmou tratar-se de uma montagem de v´arias fotografias, tiradas em diferentes condi¸c˜oes de luz. Nesta sec¸c˜ao vamos descrever um m´etodo que a partir de pontos que aparecem na retina do olho (que ao longo da descri¸c˜ao vamos chamar de realce) vai estimar a direc¸c˜ao para

(35)

Figura 2.9: Na imagem as setas brancas representam as estimativas individuais das direc¸c˜oes da fonte de luz e a amarelo a estimativa final (m´edia de todas) [7].

a fonte de luz. Inconsistˆencias na estimativa da direc¸c˜ao da fonte de luz a partir de diferentes olhos, bem como diferen¸cas na forma e na cor desses realces nos olhos, provam que houve falsifica¸c˜ao na imagem.

Figura 2.10: Imagem do j´uri de um progrma americano, que ´e uma composi¸c˜ao de v´arias imagens. As inconsistˆencias na forma e posi¸c˜ao do realce (pequeno ponto branco na iris) nos olhos, sugere que foram fotografados em condi¸c˜oes de luz diferentes [21].

A Figura 2.11, mostra a geometria b´asica da reflec¸c˜ao da luz no olho humano. No di-agrama, os trˆes vectores ~L, ~N e ~R correspondem `a direc¸c˜ao da luz, `a normal `a superf´ıcie no ponto onde o realce ´e formado e `a direc¸c˜ao na qual o realce vai ser observado. A lei da reflex˜ao diz que um raio de luz ´e reflectido de uma superf´ıcie com um ˆangulo de reflex˜ao θr igual ao ˆangulo de incidˆencia θi onde os ˆangulos s˜ao medidos em rela¸c˜ao `a normal `a superf´ıcie

~

N. Assumindo vectores unit´arios, o raio reflectido, ~R, pode ser descrito por ~

R= ~L+ 2(cos(θi) ~N − ~L) = 2 cos(θi) ~N − ~L. (2.1) Se assumirmos um reflector perfeito, ent˜ao fica

~

L= 2 cos(θi) ~N − ~V = 2(~VTN~) ~N − ~V . (2.2) A direc¸c˜ao da luz ~L pode por isso ser estimada a partir da normal `a superf´ıcie ~N e a direc¸c˜ao do espectador num realce no olho.

Esta estimativa da direc¸c˜ao da luz pode ser comparada atrav´es das v´arias pessoas numa imagem ou mesmo com a estimativa obtida com o m´etodo descrito na sec¸c˜ao anterior.

(36)

Figura 2.11: Forma¸c˜ao do realce (pequeno ponto branco na iris) no olho. A posi¸c˜ao do realce ´e determinada pela superf´ıcie normal, ~N, e as direc¸c˜oes relativas para a fonte de luz, ~L, e espectador, ~V, [21].

2.4.3 Luz ambiente

Como descrevemos nas sec¸c˜oes anteriores, aqui vamos decrever outra t´ecnica que se baseia em inconsistˆencias na ilumina¸c˜ao para provar a existˆencia de altera¸c˜oes numa imagem. A ilumina¸c˜ao de uma cena pode ser complexa, qualquer n´umero de luzes podem ser colocadas em muitas posi¸c˜oes, criando assim diferentes ambientes de ilumina¸c˜ao.

Come¸ca-se por supor que a aparˆencia de uma superf´ıcie Lambertiana pode ser expressa por

E( ~N) = 2 X n=0 n X m=−n ˆ rnln,mYn,mN ,~

onde E( ~N) ´e a irradiˆancia com a normal `a superf´ıcie ~N, ˆrns˜ao constantes conhecidas, Yn,m(.) s˜ao fun¸c˜oes harm´onicas esf´ericas e ln,m s˜ao os pesos lineares desconhecidos dessas fun¸c˜oes. Os harm´onicos esf´ericos formam uma base ortonormal de fun¸c˜oes seccionalmente cont´ınuas sobre a esfera e s˜ao an´alogas `a base de Fourier na linha ou plano. Esta ´e uma express˜ao linear em nove coeficientes da luz ambiente, l0,0 a l2,2 e podem ser estimados utilizando a estimativa dos m´ınimos quadrados, mas ´e uma solu¸c˜ao que vai necessitar de uma superf´ıcie normal de trˆes dimens˜oes proveniente de pelo menos nove pontos da superf´ıcie de um objecto.

No caso de n˜ao ser poss´ıvel satisfazer o requerimento anterior, considera-se s´o a fronteira de oclus˜ao de um objecto, resultando em

E( ~N) = l1,−12π 3 Y1,−1N~ + l1,1 2π 3 Y1,1N~ + l2,−2 π 4Y2,−2N~ + l2,2 π 4Y2,2N~ + l0,0 π 2√π − l2,0 π 16 r π 5. Aqui Yi,j(.) depende apenas dos componentes x e y da normal `a superf´ıcie ~N. Posto isto, os cinco coeficientes da luz podem ser estimados a partir da normal `a superf´ıcie de duas dimens˜oes, usando o m´etodo dos m´ınimos quadrados.

Os coeficientes podem no fim ser comparados, de forma a detectar inconsistˆencias na luz dentro da imagem.

(37)

2.5

Informa¸

ao baseada na geometria

Nesta sec¸c˜ao vamos referir t´ecnicas que se baseiam em formas geom´etricas. Um dos assun-tos estudados por estas t´ecnicas ´e como determinar diferen¸cas no ponto principal (projec¸c˜ao do centro da cˆamara no plano da imagem) a partir dos olhos humanos (dois c´ırculos) ou outras formas geom´etricas. Outro dos assuntos estudados por estas t´ecnicas ´e a partir de ferramentas de geometria progressiva rectificar superf´ıcies planas, como por exemplo, explo-rando conhecimentos de pol´ıgonos de forma conhecida.

Em imagens que nunca foram modificadas, o ponto principal ´e muito pr´oximo do centro da imagem. Quando um objecto ´e movido na imagem, o ponto principal ´e movido propor-cionalmente. A limbus, a fronteira entre a ´ıris e a escler´otica, pode ser modelada como um c´ırculo. Consideremos a projec¸c˜ao de um par de olhos, que se assume serem complanares. Neste caso, a passagem do mundo real para as coordenadas da imagem, pode ser modelada com uma matriz de projec¸c˜ao planar H : ~x = H ~X, onde os pontos reais, ~X e os pontos da imagem, ~x s˜ao representados por vectores de duas dimens˜oes. A transforma¸c˜ao H pode ser estimada a partir da geometria conhecida dos olhos de uma pessoa e obtida no producto de matrizes que engloba os parˆametros internos e externos da cˆamara digital

H= λ   f 0 c1 0 f c2 0 0 1   r~1 r~2 ~t ,

onde λ ´e um factor escalar, a matriz mais `a esquerda ´e a matriz interna (onde f ´e o tamanho focal e (c1, c2) ´e o ponto principal) a matriz que engloba a transforma¸c˜ao entre o mundo real e as coordenadas da cˆamara. Depois de se obter, a matrix interna produz a estimativa do ponto principal.

Quando se efectua a composi¸c˜ao de duas ou mais pessoas, onde pelo menos uma foi movida da sua imagem original, ent˜ao a estimativa dos pontos principais vai ser diferente, o que prova que houve modifica¸c˜oes na imagem.

(38)
(39)

Cap´ıtulo 3

Algoritmo baseado na correla¸

ao

entre p´ıxeis

Como foi referido no cap´ıtulo anterior, existem diversas formas de modificar uma imagem com vista `a altera¸c˜ao do seu conte´udo de forma maliciosa. Uma das forma de adultera¸c˜ao ´e a clonagem, isto ´e, copiar uma parte de uma imagem para outro lado dessa mesma imagem, para assim ocultar uma pessoa ou objecto.

Foram apresentados diversos algoritmos para a dete¸c˜ao deste tipo de adultera¸c˜ao, sendo um deles baseado no estudo da correla¸c˜ao existente entre p´ıxeis. A vizinhan¸ca de um p´ıxel ´e o conjunto de p´ıxeis que o rodeiam. Como podemos ver na Figura 3.1, para um p´ıxel localizado nas coordenadas (x, y), uma vizinhan¸ca de 4, s˜ao os p´ıxeis que se encontram nas coordenadas (x − 1, y), (x + 1, y), (x, y − 1), e (x, y + 1), enquanto que uma vizinhan¸ca de 8 ´e composta pelos p´ıxeis anteriores mais os p´ıxeis (x − 1, y − 1), (x − 1, y + 1), (x + 1, y − 1) e (x + 1, y + 1).

Figura 3.1: Vizinhan¸ca de p´ıxeis

Neste cap´ıtulo vamos estudar com mais detalhe esta forma de detectar a clonagem de uma imagem, apresentado detalhes de implementa¸c˜ao deste algoritmo, bem como resultados experimentais. A escolha para um estudo mais aprofundado recaiu sobre este algoritmo, uma vez que ´e baseado no estudo dos p´ıxeis, que s˜ao os elementos mais pequenos numa imagem. Foi um algoritmo pioneiro na detec¸c˜ao de altera¸c˜oes em imagens.

(40)

3.1

Conceitos b´

asicos

Antes de apresentar o algoritmo implementado, vamos apresentar alguns conceitos essen-ciais `a sua compreens˜ao.

Durante a descri¸c˜ao do algoritmo, vamos-nos referir `a DCT (Transformada discreta do coseno), que serve para expressar um sequˆencia de pontos finita em termos da soma de fun¸c˜oes coseno oscilando a diferentes frequˆencias, isto para reduzir a informa¸c˜ao existente nos componentes de maior frequˆencia. A express˜ao da DCT para um vector de uma dimens˜ao com N elementos ´e

Y = C(N )· X, onde Cjk(N )= r αj N cos Π(2k + 1)j 2N , e α0= 1, αj = 2 para j > 0.

Quantiza¸c˜ao, conceito utilizado na descri¸c˜ao do algoritmo, refere-se `a transforma¸c˜ao de um conjunto cont´ınuo de valores, num conjunto de valores mais pequenos. A aplica¸c˜ao da DCT seguida da quantiza¸c˜ao serve para uma representa¸c˜ao mais robusta da informa¸c˜ao da imagem. Um exemplo da aplica¸c˜ao da DCT e quantiza¸c˜ao a uma matriz, est´a representado na Figura 3.2.

Figura 3.2: Aplica¸c˜ao da DCT e quantiza¸c˜ao a uma matriz com os valores dos p´ıxeis de uma imagem.

3.2

Algoritmo

O algoritmo apresentado baseia-se na an´alise da correla¸c˜ao existente entre pixeis vizinhos e na tentativa de dete¸c˜ao de altera¸c˜oes dessa correla¸c˜ao. Este algoritmo tem como objetivo descobrir as partes da imagem que foram copiadas de um lado e colocadas noutro lugar difer-ente e marcar na imagem a fonte e o destino da parte clonada (Figura 3.3).

O algoritmo tem como parˆametros de entrada uma imagem a cores (RGB), na qual se pretende encontrar altera¸c˜oes, o tamanho do bloco pretendido, um coeficiente de quantiza¸c˜ao (no caso de utilizarmos a DCT) e um valor de decis˜ao, que ´e o n´umero de partes iguais que pretendemos encontrar. Na Figura 3.4 vemos o diagrama do algoritmo.

(41)

Figura 3.3: Parte de uma imagem copiada de um lado para o outro [3].

(42)

Come¸ca-se por passar a imagem para a escala de cinzentos. Como ´e uma imagem RGB, us´amos a f´ormula Y = 0.299 ∗ R + 0.587 ∗ G + 0.114 ∗ B. A raz˜ao pela qual se usou a imagem na escala de cinzentos, foi para facilitar a cria¸c˜ao dos blocos e para facilitar tamb´em a compara¸c˜ao desses mesmos blocos. Numa imagem a cores, existiriam duas formas poss´ıveis de aplicar o algoritmo: a primeira, consistia em processar os planos de cor separadamente e obter trˆes resultados de duplica¸c˜ao. A outra, era cada p´ıxel nos blocos ser composto por cada um dos valores de cada plano de cor [5].

De seguida parte-se a imagem em blocos, de acordo com o parˆametro especificado. Para divir a imagem em blocos, percorremos a imagem toda, a partir do canto superior esquerdo para a direita e para baixo at´e ao canto inferior direito, deslizando os blocos p´ıxel a p´ıxel, obtendo-se (M − B + 1)(N − B + 1) blocos, isto para uma imagem de M × N p´ıxeis e blocos de tamanho B × B.

A partir daqui existem dois modos de funcionamento, um em que ´e usado o c´alculo da DCT e outro em que n˜ao se efectua essa transforma¸c˜ao.

Na primeira forma de funcionamento, depois de se ter a imagem em blocos, calcula-se a DCT dos valores dos blocos e quantizam-se esses valores. Na aplica¸c˜ao da quantiza¸c˜ao, os blocos com os valores vindos da aplica¸c˜ao da DCT, s˜ao multiplicados pelo coeficiente de quantiza¸c˜ao, em seguida divide-se cada elemento do bloco pelo valor correspondente na matriz de quantiza¸c˜ao e por fim arredonda-se o valor obtido para o inteiro mais pr´oximo. A quantiza¸c˜ao ´e feita com uma tabela de quantiza¸c˜ao JPEG (Tabela 3.1), isto se for usado um tamanho do bloco de 8. Se for usado um tamanho de 16, usamos

Q16=  Q′ 8 2.5Q18I 2Q81I 2.5Q88I  , onde Q′ 8 =     2Q11 2.5Q12 . . . 2.5Q18 2.5Q21 2.5Q22 . . . 2.5Q28 . . . . 2.5Q81 2.5Q82 . . . 2.5Q88    

No outro modo de funcionamento, s˜ao utilizados os valores originais dos p´ıxeis.

Em seguida os blocos obtidos anteriormente s˜ao colocados numa matriz, onde cada linha ´e um bloco. Como cada linha da matriz ´e um vector, o bloco tem de ser passado para vector. No caso de se ter calculado a DCT, o bloco vai ser percorrido em zig-zag (Figura 3.5) para se passar para vector, caso contr´ario vai ser percorrido em raster scan (Figura 3.5). Isto deve-se ao facto de com a DCT a diagonal superior da matriz com o resultados ficar com os valores mais importante.

(43)

A matriz ´e ent˜ao ordenada lexicograficamente, e depois verificam-se cada duas linhas con-secutivas. Se forem iguais, guardam-se as coordenadas desse blocos (as coordenadas do p´ıxel superior esquerdo), calcula-se o deslocamento entre os dois blocos (Figura 3.6) e incrementa-se um contador associado a esse deslocamento. Por exemplo, sendo (x1, y1) e (x2, y2) as coor-denadas de dois blocos iguais, o deslocamento entre os dois, (s1, s2) = (x1− x2, y1− y2), e o contador desse deslocamento, C(s1, s2) = C(s1, s2) + 1. Os deslocamentos s˜ao normalizados, para serem sempre maiores que zero. No final o contador C vai indicar a frequˆencia com que cada deslocamento ocorre. Enquanto estamos a calcular os delocamentos, descartamos os blocos sobrepostos (blocos que coincidem em parte com outros blocos), para reduzir o n´umero de blocos iguais e obter melhores resultados. Os blocos entre os quais existe(m) o(s) deslocamento(s) que ocorreram mais vezes s˜ao marcados na imagem. O algoritmo tem como resultado uma imagem com a zona clonada marcada da mesma forma, onde foi copiada e onde foi colocada.

Figura 3.6: Mesmo vector deslocamento [3].

16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 Tabela 3.1: Q: tabela de quantiza¸c˜ao JPEG.

3.3

Resultados experimentais

Para efectuar os testes ao algoritmo foram utilizadas 23 imagens a cores obtidas em ftp://ftp.ieeta.pt/~ap/images/kodak/768x512/256/, com o tamanho 768 × 512 p´ıxeis. As imagens foram alteradas com o programa de edi¸c˜ao GIMP [1], copiando uma parte da imagem e colando-a noutra parte da mesma imagem. Nas imagens foram copiadas e coladas

(44)

entre uma e seis partes. Test´amos as duas vers˜oes do algoritmo em todas as imagens, e colocaram-se os resultados na Tabela 3.2, onde est˜ao os resultados da vers˜ao do algoritmo baseado na DCT, e na Tabela 3.3, que cont´em os resultados da vers˜ao do algoritmo baseado nos valores originais dos p´ıxeis da imagem. As tabelas de resultados tˆem 4 colunas: a coluna ”I”, cont´em a referˆencia `a imagem que foi testada; ”Altera¸c˜oes”, ´e o n´umero de peda¸cos da imagem que foram copiados e colados noutro lado; ”Detec¸c˜oes”, ´e o n´umero de partes iguais que o algoritmo detectou; ”Acertos”, ´e o n´umero de partes semelhantes em que o algoritmo acertou.

I Altera¸c˜oes Detec¸c˜oes Acertos

3.7 1 1 1 3.8 1 1 1 3.9 1 1 1 3.10 1 1 1 3.11 1 1 1 3.12 1 1 1 3.13 1 1 1 3.14 2 2 2 3.15 2 2 2 3.16 2 2 2 3.17 2 2 2 3.18 3 3 3 3.19 3 3 3 3.20 3 3 3 3.21 3 3 3 3.22 3 3 3 3.23 4 4 4 3.24 6 6 6

Tabela 3.2: Tabela de resultados obtidos com o algoritmo baseado na DCT.

3.4

Discuss˜

ao

Os resultados obtidos com este algoritmo s˜ao bastantes interessantes, visto que se desco-briram as altera¸c˜oes efectuadas nas imagens a maior parte das vezes, com ambas as vers˜oes dos algoritmos. Comparando ambas as vers˜oes do algoritmo, a vers˜ao da DCT ´e mais prop´ıcia a falsos positivos, isto ´e, partes da imagem que aparecem marcadas mas que n˜ao foram copi-adas de lado nenhum. Isto deve-se ao facto de em algumas imagens existirem grandes padr˜oes constantes (por exemplo o c´eu).

Pelos resultados, verific´amos que para um maior valor do coeficiente de quantiza¸c˜ao, o n´umero de blocos iguais aumenta, o que pode levar a um n´umero maior de falsos positivos.

O algoritmo extrai os blocos directamente da imagem, fazendo com que exista um n´umero muito grande de blocos. Isto faz com que o algoritmo se torne um pouco pesado

(45)

computa-I Altera¸c˜oes Detec¸c˜oes Acertos 3.7 1 1 1 3.8 1 1 1 3.9 1 1 1 3.10 1 1 1 3.11 1 1 1 3.12 1 1 1 3.13 1 1 1 3.14 1 2 2 3.15 2 2 2 3.16 2 2 2 3.17 2 2 2 3.18 3 3 3 3.19 3 3 3 3.20 3 3 3 3.21 3 3 3 3.22 3 3 3 3.23 4 4 4 3.24 6 6 6

Tabela 3.3: Tabela de resultados obtidos com o algoritmo baseado nos blocos originais.

cionalmente, principalmente na parte da ordena¸c˜ao lexicogr´afica.

Em seguida apresentamos algumas imagens com que test´amos o algoritmo. As imagens est˜ao apresentadas em conjuntos de trˆes, onde a imagem da esquerda ´e a imagem alterada onde aplic´amos o algoritmo, a imagem do meio ´e o resultado da aplica¸c˜ao do algoritmo com a DCT e a imagem da direita resulta da aplica¸c˜ao do algoritmo baseado nos valores originais dos p´ıxeis.

(46)

Figura 3.7: Imagem com uma altera¸c˜ao.

Figura 3.8: Imagem com uma altera¸c˜ao.

Figura 3.9: Imagem com uma altera¸c˜ao.

Figura 3.10: Imagem com uma altera¸c˜ao.

(47)

Figura 3.12: Imagem com uma altera¸c˜ao.

Figura 3.13: Imagem com uma altera¸c˜ao.

Figura 3.14: Imagem com duas altera¸c˜oes.

Figura 3.15: Imagem com duas altera¸c˜oes.

(48)

Figura 3.17: Imagem com duas altera¸c˜ao.

Figura 3.18: Imagem com trˆes altera¸c˜oes.

Figura 3.19: Imagem com trˆes altera¸c˜oes.

Figura 3.20: Imagem com trˆes altera¸c˜oes.

(49)

Figura 3.22: Imagem com trˆes altera¸c˜oes.

Figura 3.23: Imagem com quatro altera¸c˜oes.

(50)
(51)

Cap´ıtulo 4

Algoritmo baseado na correla¸

ao

entre planos bin´

arios

Com a evolu¸c˜ao que o hardware de captura e software de edi¸c˜ao de imagens teve nos ´

ultimos anos, associado ao baixo custo destas mesmas ferramentas, ´e cada vez mais simples alterar imagens digitais. Alterar uma imgem consiste, por exemplo, em rod´a-la, redimension´a-la ou modificar o brilho da mesma. Neste cap´ıtulo vamos descrever uma forma de detectar se uma imagem sofreu algum tipo de altera¸c˜ao do g´enero das descritas atr´as. Este algoritmo de detec¸c˜ao ´e baseado na correla¸c˜ao entre os planos bin´arios das imagens. A ideia b´asica assenta no princ´ıpio de que as correla¸c˜oes entre os planos bin´arios, assim como as caracter´ısticas de textura bin´aria dentro dos planos bin´arios, s˜ao diferentes entre uma imagem alterada e uma imagem original.

Um estudo mais aprofundado recaiu sobre este algoritmo, porque tal como o algoritmo de-scrito no cap´ıtulo anterior, este foi um dos primeiros algoritmos de detec¸c˜ao de transforma¸c˜oes em imagem a surgir. Como j´a foi dito antes, ´e um algoritmo que trabalha com a quantidade mais pequena que se pode obter numa imagem, ou seja o bit.

(52)

4.1

Conceitos b´

asicos

Para melhor entender o algoritmo desenvolvido, vamos agora descrever conceitos que v˜ao aparecer durante a sua descri¸c˜ao. Este algoritmo ´e baseado no estudo dos planos bin´arios da imagem. Na Figura 4.1, vemos uma imagem de oito bits que foi decomposta nos seus oito planos bin´arios. Uma imagem de oito bits, ´e uma imagem onde o valor de cada p´ıxel ´e constitu´ıdo por oito bits.

Um plano bin´ario ´e uma imagem onde cada ponto ´e um valor bin´ario (0 ou 1). Numa imagem RGB, por exemplo, o sexto plano bin´ario do canal verde obt´em-se a partir do valor do canal verde de cada p´ıxel, considerando o sexto bit menos significativo. Na Figura. 4.2 est´a o exemplo de um plano bin´ario de uma imagem. Se o valor de um p´ıxel for 234, a sua representa¸c˜ao bin´aria vai ser 11101010; com isto o valor bin´ario no sexto plano ´e 1. Este valor na escala [0..255] corresponde a 32.

Figura 4.2: Exemplo de um plano bin´ario de uma imagem. A imagem da esquerda ´e a original e a da direita ´e o sexto plano bin´ario do canal verde.

Na parte da classifica¸c˜ao dos resultados, vamos utilizar uma regress˜ao linear m´ultipla. Uma regress˜ao linear ´e um m´etodo utilizado para se estimar o valor esperado de uma vari´avel, Y, a partir dos valores de outras vari´aveis X [23]. O modelo da regress˜ao utilizado ´e dado por Y = ω0+ ωX + e. Matricialmente temos Y = ωX + e, onde

Y =      y1 y2 .. . yn      , X =      1 x11 . . . x1k 1 x21 . . . x2k .. . ... ... 1 xn1 . . . xnk      , ω=      ω1 ω2 .. . ωk      e e=      e1 e2 .. . en      .

Antes de calcular os resultados, ´e necess´ario efectuar o treino do classificador, ou seja estimar o ω. Para isso precisamos do Y para um certo conjunto X e assim determinar ω atrav´es de (matricialmente):

(53)

ω= (X′X)−1XY.

Depois de calculado o ω, estimamos o erro e. Para isso estimamos primeiro o Ye, Ye = ωX. O erro vai ser a diferen¸ca entre o valor estimado Ye e o valor esperado Y , e = Y − Ye.

4.2

Algoritmo

Figura 4.3: Na imagem podemos ver a diferen¸ca entre o quinto e o sexto plano bin´ario. `A esquerda a imagem original e a direita a imagem alterada com 50% de rota¸c˜ao [24].

Nesta sec¸c˜ao vamos proceder `a descri¸c˜ao do algoritmo implementado. Para come¸car, ´e necess´ario passar ao algoritmo dois parˆametros de entrada, uma imagem e um ficheiro para guardar os resultados. O algoritmo come¸ca por separar a imagem que lhe ´e passada de acordo com os seus planos bin´arios. Os planos usados ao longo da execu¸c˜ao do algoritmo s˜ao o plano 5 do canal vermelho e azul e os planos 3 a 8 do canal verde. Depois de obtidos os planos bin´arios, procedemos ao c´alculo das Binary Similarity Measures, que aqui vamos chamar de caracter´ısticas. Para se obter as chamadas caracter´ısticas da imagem, come¸camos por definir as sequˆencias de bits que representam os K p´ıxeis vizinhos, onde i passa por todos os M × N p´ıxeis da imagem xi = {xi−k|, k = 1, ..., K} e yi = {yi−k|, k = 1, ..., K}. Com K = 4 s˜ao usados quatro p´ıxeis da vizinhan¸ca, enquanto que se K = 8 s˜ao usados oito, de acordo com a Figura 4.4.

Continuando com a execu¸c˜ao do algoritmo, vamos agora calcular as agreement variables. Dado cs,r =        1 se xr = 0 e xs = 0 2 se xr = 0 e xs = 1 3 se xr = 1 e xs = 0 4 se xr = 1 e xs = 1 ,

(54)

Figura 4.4: Vizinhan¸ca entre p´ıxeis: (a) quatro vizinhos, (b) oito vizinhos.

αji =PK

k=1d(ci,j−k, j), j = 1...4, K = 4, onde d(m, n) =1, m = n0, m 6= n .

Com base nas agreement variables anteriores s˜ao agora calculadas as accumulated agree-ments, a= M N1 P iα1i, b= M N1 P iα2i, c= M N1 P iα3i, d= M N1 P iα4i.

Estas quatro vari´aveis {a, b, c, d} s˜ao calculadas para cada plano bin´ario da imagem e s˜ao usadas para calcular as caracter´ısticas m1 a m9, de acordo com a Tabela 4.4, usadas para efectuar a identifica¸c˜ao de altera¸c˜oes na imagem.

Em seguida vamos calcular os histogramas normalizados dos agreement scores, com base nas vari´aveis anteriores, para cada um dos planos bin´arios:

j = P iα j i P i P kαki , β = 3...8.

A partir daqui vamos calcular as caracter´ısticas dm10 a dm13, conforme a Tabela 4.4. Al´em das anteriores, s˜ao calculadas tamb´em as medidas de textura de Ojala [25], como vai ser descrito a seguir. Para cada imagem bin´aria obt´em-se um histograma de 256 barras baseado nos oito vizinhos ponderados de um p´ıxel. Para cada padr˜ao de oito vizinhos a barra do histograma numerada com

n= 7 X k=0

xi−k2i ´e incrementada numa unidade (Tabela 4.1).

Depois de calculados os histogramas de cada uma das imagens bin´arias, vamos normaliz´ a-los, isto ´e, dividimos cada valor do histograma pela soma total dos valores do histograma, para o histograma ficar representado no intervalo [0, 1] e assim ser mais f´acil trabalhar os valores, ficando o histograma normalizado representado por Sb

n, n = 0...255 e b = 3...7. Com estes histogramas normalizados, obtemos as caracter´ısticas dm14 a dm16, segundo a Tabela 4.4.

(55)

1 2 4 128 xi 8 64 32 16 0 1 0 1 xi 0 0 1 1

Tabela 4.1: (a) Peso de cada um dos vizinhos do p´ıxel xi(b) De acordo com o valor dos vizinhos do p´ıxel xi, o histograma com o valor S = 2 + 16 + 32 + 128 = 178 vai ser incrementado uma unidade.

Depois de calculadas as caracter´ısticas anteriormente descritas, vamos proceder ao treino de um classificador, com o qual vamos testar se as imagens s˜ao verdadeiras ou falsas. Para o classificador foi desenvolvido um algoritmo para octave [26]. Este algoritmo tem dois modos de funcionamento, um no qual se treina o classificador e que tem como parˆametro de entrada uma matriz X, onde cada linha da matriz tem as caracter´ısticas referentes a cada imagem com as quais se treina o classificador, e um vector Y , com o resultado esperado para cada uma das imagens: −1 para imagens alteradas e 1 para imagens que n˜ao foram alteradas. O treino consiste em calcular os coeficientes de regress˜ao, ω, e o erro, e.

Na parte de classifica¸c˜ao das imagens, utilizamos os coeficientes de regress˜ao e o erro, calculados na parte do treino com os quais, juntamente com a matriz de caracter´ısticas da imagem, se calcula o resultado, como j´a foi mostrado antes.

Imagem

Figura 1.1: Exemplo de uma imagem de um soldado britˆ anico em Basra, Iraque, alterada digitalmente
Figura 1.2: Processo de capta¸c˜ao de uma imagem[2].
Figura 1.3: A imagem da esquerda foi alterada de maneira a esconder o contentor, resultando na imagem da direita [9].
Figura 2.1: A imagem da esquerda foi alterada para esconder o jeep [9].
+7

Referências

Documentos relacionados

O método propriamente dito de um trabalho científico só pode ser estabelecido depois que o objetivo tiver sido definido. Por esse motivo, no caso da Computação, normalmente a revisão

No nível operacional off-line é feita antecipadamente a programação de recursos e sequenciamento de atividades, tipicamente com um horizonte de planejamento de

As parcelas foram constituídas por quatro épocas de cultivo (jan./fev. - 2007) e as subparcelas por quatro sistemas de preparo⁄cobertura de solo (plantio direto e

A análise da transformada em ondeletas mostrou que existe uma mudança de fase das vazões entre o início e a metade da década de 70, coincidindo com uma mudança de fase

f) Não haverá reclassificação dos candidatos. g) Os casos omissos no presente Edital serão resolvidos pela Comissão de Seleção. h) Não haverá segunda chamada para as provas. i)

Área bruta privativa: 75,47 m² Área bruta dependente: 46,28 m² Sala com pavimento cerâmico com varanda; Cozinha equipada c/ placa, forno, exaustor e caldeira; Hall; 2 Quartos

Para provar sua tese, esses críticos que entendem que o islamismo é o problema, tendem a ligar atos específicos dos grupos jihadistas a uma sequência de referências extraídas

MODELO ELITEPAD, MARCA HEWLETT PACKARD, DOCKING STATION D' ACCUEIL ELITEPAD, CARACTERÍSTICAS: QUATRO PORTAS USB 2.0; PORTAS HDMI E VGA, ETHERNET, SAÍDA DE ÁUDIO, TRAVA