310 likes | 463 Views
UNIVERSITY POLITEHNICA of BUCHAREST DEPARTMENT OF COMPUTER SCIENCE. P ătru Vlad Daniel < patru.vlad @CS.PUB.RO>. DFT. f(x, y) = x = [0, width-1] y = [0, height-1]. 2. Metodologia recuperării img.
E N D
UNIVERSITY POLITEHNICA of BUCHAREST DEPARTMENT OF COMPUTER SCIENCE Pătru Vlad Daniel <patru.vlad@CS.PUB.RO>
DFT f(x, y) = x = [0, width-1] y = [0, height-1] 2
Metodologia recuperării img. • Împărţim imaginea în blocuri de imagini • Inserăm o semnătură (watermark) în fiecare bloc • (watermark = pepene verde -> www.dictionar-englez-roman.ro) • Detectăm dacă blocurile au fost alterate • Dacă (bloc == alterat) at.: • împărţim blocul în blocuri de 2 x 2 • înlocuim valoarea coeficientului DFT F(0, 0) cu o valoare estimată de noi prin calcul • Obs.: + hartă de indecşi • + subset al valorilor coeficienţilor DFT din imgaginea originală
Introducere • Autentificarea imaginilor = procesul de verificare a originalităţii unei imagini pentru a stabili conformitatea integrală sau parţială cu imaginea originală. • Două modalităţi: criptografia şi emblemarea fragilă • Criptografia: • criptarea totală => confidenţialitate şi autenticitate • hashing • semnătură electronică => scop: mesaj -asoc-> entitate origine !!! Problemă: nu ascociază întotdeauna informaţia criptată cu conţinutul 4
Emblemare fragilă semnătură digitală = un model de biţi inseraţi într-un element multimedia cum ar fi o imagine digitală, fişier audio sau video. Proprietate: uşor de alterat atunci când modificăm câtuşi de puţin imaginea gazdă • Autentificare multimedia: • riguroasă – nicio modifcare / compr. fără pierderi, sch. format • permisivă – anumite manipulări (incidentale) / man. malicioase 5
Autentificarea imaginilor • Schema cu cheie privată de aut. a img. propusă de Wong şi Memon • x(m,n) – img. tonuri de gri de dim. Mx * Nx • inserat semnătură vizibilă => img. emblemată xw(m,n) • x(m,n) – partiţionată în blocuri de I x J pixeli • inserată o semnătură invizibilă în fiecare bloc 6
Reprezentarea binară a numerelor În memoria calculatorului, numerele se reprezinta în binar (baza 2). Valoarea unui întreg fără semn, cu k cifre binare (biţi): ck-1,ck-2...c1,c0 (2) = ck-1*2^k-1+…+c1*2^1+c0*2^0 ck-1 = bitul cel mai semnicativ (superior) c0 = bitul cel mai putin semnicativ (inferior) Obs.: c0 = 0 => nr. par; c0 = 1 => nr. impar 10
Proprietăţile semnăturii invizibile • Gradul de distorsiune introdus de semnătură nu este vizibil • Dacă este folosită cheia corespunzătoare, semnătura extrasă este identică cu cea originală • Dacă nu este fol. cheia coresp., extr. semn. => zgomot aleator • Dacă imaginea nu are semn., extr. => z. a. • Dacă anumiţi pixeli sunt alteraţi, procedura de extracţie a emblemei va detecta şi localiza modificările • Biţii semnăturii sunt inseraţi în bps ai img. Dacă se încearcă înlăturarea semnăturii inv. prin modificarea unor straturi de biţi, proc. de extr. va detecta schimbările • Nu este posibilă modificarea img. / bloc a.î. Emblema să pară neschimbată (propr. fcţ. hash – 2 input !=> output) 14
Algoritmul de recuperare a img. - Mod de lucru - 15
Algoritmul de recuperare a img. DFT-ul unei fcţ. f(x,y) de dim. M x N: pt. u=0, M-1; v=0, N-1 Inversa DFT (pt. F(u,v) dat): pt. x=0, M-1; y=0, N-1 16
Algoritmul de recuperare a img. Funcţia img. f(x,y) este înmulţită cu (-1)^(x+y) înainte de calculul DFT. Se poate dem. că: unde denotă DFT-ul argumentului. Ecuaţia de mai sus ne arată că DFT-ul fcţ. f(x,y)*(-1)^(x+y) este localizată la u=M/2 şi v=N/2. Valorea transformatei la (u,v)=(0,0): 17
Algoritmul de recuperare a img. • Blocul alterat => împărţit în blocuri de 2 x 2 • Val. coef. DFT F(0,0) este înlocuită cu F(0,0) estimat prin calcul • Celorlaltor trei valori li se atribuie val. 0 • Se calc. inv. DFT pt. a restabili valorile pixelilor pt. fiecare bloc • Pt. a det. F(0,0) estimat folosim două fişiere: • harta indecşilor • un fişier ce conţine coef. DFT parţiali ai img. orig. 18
Algoritmul de recuperare a img. • Hartă indecşi – plasează blocurile în două categorii(cazuri): • cazul când informaţia spaţială din împrejurimi ne oferă suficiente indicii pt. estimarea blocului alterat (bl. neted) • cazul când nu ex. indicii suficiente (bl. margine sau textură) 19
Algoritmul de recuperare a img. • Dacă dim. img. este r x c => (r/n) x (c/n) blocuri • Fiecare valoare în matrice are 1 bit (0/1) • bit 1 – bl. margine • bit 0 – bl. zonă netedă Harta de indecşi a fost calculată folosind detecţia de margini Sobel. Marginile sunt găsite calculând gradientul local al semnalului luminos folosind filtrare spaţială de tip Sobel. Rezultat: img. binară 1=margine, 0=altfel 20
Algoritmul de recuperare a img. Blocurile primesc indecşi “graniţă” după formula: unde: bij = un bit din img binară Bk = indexul margine al bl. k din img. orig. (de dim r x c) n = dim. bl. Ik = val. de bit (0/1) a bl. k din harta de indecşi t = var. pt. stabilirea sensibilităţii la det. mrg. 21
Algoritmul de recuperare a img. Fişierul cu coef. DFT parţiali Dacă o img. are k bl. indexate 1 => k x n/2 x n/2 valori ale cDFTp Atât harta de indecşi cât şi fişierul cu cDFTp sunt transmişi de la emiţător la receptor printr-un sistem de criptare cu cheie publică. 23
Algoritmul de recuperare a img. • Procedura de recuperare: • dacă bl. index 0 (zonă netedă): • estimăm F(0,0) în fcţ. coef. din împrejurimi • alegem bl. de 2 x 2 înconjurătoare nealterate • calc. apoi DFT pt. fiecare bloc mic în parte pt a obţ. coef. DFT F(0,0) • coef. DFT F(0,0) nec. este estimat ca medie a coef. F(0,0) înconjurători • odată calc., coef. dev. parte activă a alg. pt. det. altor coef. • dacă bl. index 1 (textură, margine) 24
Algoritmul de recuperare a img. • nu avem suf. inf. în bl. înconj. pt. recuperarea bl. alterat • ne ajutăm de fişierul cu cDFTp din img. orig. => • înlocuim coef. F(0,0) nec. cu cel coresp. din fişier • Odată ce coef. F este det., celelalte 3 din grupul de bl. sunt înlocuite cu 0. • Inversul DFT este calc. pt. a restabili valorile pixelilor din blocul alterat. 25