Documente Academic
Documente Profesional
Documente Cultură
, (1)
Unde denota operatorul SAU-Exclusiv (XOR). Algoritmul este descris mai jos.
1. Dividem o imagine masca intr-un set de imagini masca de marimea 8 x 8.
2. Pentru fiecare imagine masca de 8 x 8, generam o stego-imagine bazata pe DE pentru a
indeplini procedura de inglobare, cat si pentru a se asigura ca VF
C
si VF
S
sunt pe cat de
identice posibil.
3. Combinam toate stego-imaginile de 8 x 8 impreuna pentru a forma o stego-imagine
completa.
Fie
1
si
2
ponderi ce pot fi ajustate conform cu cerinta utilizatorului legata de gradul
de deformare aplicabil stego-imaginii sau mesajului extras. Functia obiectiv este definita ca:
Evaluare (, C)
Analiza
(2)
unde Analiza este functia de analiza care mentine caracteristicile statistice intre stego-
imagine si imaginea masca prin micsorarea diferentei definite in Eq. (1) si este rata
erorii de bit care aduna laolalta diferentele de bit dintre mesajul incorporat si cel extras, asa cum
este definit in Eq. (3).
Nesaj
Nesaj
, (3)
unde Mesajul
H
si Mesajul
E
, respectiv, denota mesajele secrete binare incorporate si extrase, iar
[Mesajul
H
] denota lungimea mesajului. De exemplu, daca Mesajul
H
= 11111 si Mesajul
E
=
11101, atunci BER = 0.2. Ponderile
1
si
2
corespund calitatii imaginii filigranate si,
respectiv, siglei extrase. Aceste ponderi se intind de la 0 la 1 si mai departe ele sunt asociate ca
fiind
1
+
2
= 1. Daca dorim o calitate mai buna a imaginii filigranate, atunci
1
ar trebui sa fie
mai mult comparata cu
2
si vice versa. Este un schimb alegand valorile
1
si
2.
3 Algoritmul DE si steganografia sa bazata pe imagine
Evolutia diferentiala (DE) este un tip de Algoritm Evolutionar (EAs), ale caror nume provin din
procesele evolutionare biologice naturale. EA este mimat pentru a obtine o solutie pentru o
optimizare a problemei. Se poate folosi EA pentru probleme care sunt greu de rezolvat prin
tehnici de optimizare traditionale, incluzand problemele ce nu sunt bine definite sau care sunt
greu de modelat din punct de vedere matematic. O metoda populara de optimizare, care ii
apartine clasei de metode EA, este GA (Holland 1975). In ultimii ani, GA a inlocuit metodele
traditionale si a devenit unealta de optimizare preferata, asa cum au demonstrat, ca o concluzie a
lor, diverse studii. DE (Price et al. 2005) este relativ nou-aparut, dar popularitatea lui a
compensat acest lucru. El este mai rapid in optimizarea numerica si este mai probabil ca el sa
gaseasca adevarata optima.
3.1 Conceptul
Metoda DE consta, in principal, din patru pasi: initializarea, transformarea, recombinarea si
selectarea. In primul pas, o populatie aleatoare de solutii potentiale este creata in cadrul spatiului
de cautare multidimensional. Pentru inceput, definim functia obiectiv f(y) ce urmeaza a fi
optimizata, unde y = (y
1
, y
2
,....y
n
) este un vector de n variabile de decizie. Scopul este acela de a
gasi un vector y in spatiul de cautare dat, pentru care valoarea functiei obiectiv este optima.
Spatiul de cautare este mai intai determinat prin punerea la dispozitie a limitelor de sus si de jos
pentru fiecare din variabilele n de decizie ale lui y.
In pasul de initializare, o populatie de vectori NP, fiecare de dimensiuni n, este creata
aleator. Parametrii sunt reprezentati ca numere reale in simpla precizie. Transformarea este de
fapt un mecanism de cautare, care directioneaza cautarea catre zone potentiale ale solutiei optime
impreuna cu recombinarea si selectarea. In cadrul acestui pas, 3 vectori obiectiv diferiti y
a
, y
b
, si
y
c
sunt alesi aleator din populatia de parinti NP pe baza a trei numere aleatorii a, b, si c. Unul
dintre vectori, y
c
, este baza vectorului transformat. Acesta se adauga la diferenta ponderata ale
celorlalti doi vectori, i.d. y
a
y
b
, pentru a genera un vector n
i
aleator de zgomot. Ponderea este
facuta folosind un factor F de scalare, care este furnizat de catre utilizator si se afla de obicei in
sirul de la 0 la 12. Procesul de transformare este repetat pentru a crea o pereche pentru fiecare
membru al populatiei de parinti.
In operatiunea de recombinare (incrucisare), fiecarui vector obiectiv al populatiei de
parinti i se permite sa sufere o recombinare prin imperecherea cu un vector transformat. Astfel,
vectorul y
i
este recombinat cu vectorul aleator de zgomot n
i
pentru a genera un vector de testare,
t
i.
Fiecare element al vectorului de testare (t
i
m
, unde i = 1, 2,....., NP si m = 1,2,.....n) este
determinata de un experiment binomial al carui succes sau esec este determinat de factorul de
incrucisare furnizat de utilizator, CR. Parametrul CR este folosit pentru a controla rata la care
incruciserea are loc.
Figura 1: Diagrama fluxului DE
Vectorul de testare t
i
, este deci copilul celor doi vectori parinti: vectorul de zgomot n
i
si
vectorul obiectiv y
i
. DE efectueaza un incrucisare ne-uniforma, care determina ca parametrii
vectorului de testare sa fie mosteniti de la oricare din parinti.
Este posibil uneori ca din unele combinari particulare dintre cei trei vectori obiectiv din
populatia parinte si factorul de scalare f, sa rezulte niste valori ale vectorului de zgomot care
sunt in afara limitelor impuse pentru variabilele de decizie. Prin urmare, este necesar sa aducem
aceste valori in interiorul limitelor. Din acest motiv, valoarea fiecarui element al vectorului de
testare este verificata la finalul fiecarui pas al recombiarii. Daca o valoare depaseste spatiul
limitelor, este in mod euristic adusa inapoi in spatiul limitelor. Aceasta se intampla in cadrul
ultimului pas al selectiei, vectorul de testare luptand impotriva vectorului obiectiv. Fitnesul
este testat, iar cel mai puternic dintre cei doi vectori supravietuieste si merge mai departe in
urmatoarea generatie.
Dupa NP competitii de acest fel in fiecare generatie, una va avea o noua populatie, care
este mai puternica decat populatia din generatia anterioara. Aceasta mecanism de evolutie
alcatuit din patru pasi este repetat in cadrul a mai multor generatii pana cand conditia de
terminare este atinsa(de exemplu, pana cand functia obiectiv atinge un optim dat) sau un numar
specificat de generatii este inregistrat. O diagrama a fluxului este descrisa in figura 1.
Figura 2 : Generarea unei stego-imagini(a) si procedura de extragerea mesajului ascuns(b)
3.2 Algoritmul
1. Primul pas consta in initializarea aleatoare a populatiei parinte. Fiecare element al celor
NP vectori cu n dimensiuni este generat aleator astfel :
2. Calculeaza valorile functiei obiectiv f(y
i
) pentru orice y
i
.
3. Selecteaza trei numere aleatoare(a, b si c) cuprinse intre 1 si NP. Diferenta ponderata(y
a
-
y
b
) este folosita pentru a genera un vector de zgomot n
i
prin perturbarea lui y
c
:
4. Recombina fiecare vector obiectiv y
i
cu vectorul de zgomot aleator
i
pentru a genera
vectorul de testare t
i
:
5. Verifica daca fiecare variabila de decizie a vectorului de testare se incadreaza in spatiul
limitelor. Daca este in afara spatiului limitelor, atunci trebuie fortata sa reintre in spatiul limitelor
folosind :
6. Calculeaza valoarea functiei obiectiv pentru cei doi vectori t
i
si y
i
. Cel mai puterni dintre
cei doi(de exemplu, cel care are o valoare mai mica pentru functia obiectiv) supravietuieste si
merge mai departe in cadrul noii generatii.
7. Verifica gradul de indeplinire al criteriului de convergenta. Daca este indeplinit criteriul,
atunci ne vom opri, altfel, se trece la pasul 8.
8. Verifica daca numarul maxim de generatii este atins. Daca da, atunci ne oprim, altfel,
continuam de la pasul 3.
Figura 3 : vector DE(a), imagine masca(b)si stego-imagine(c)
Urmatorul tabel compara steganografia imaginii folosind un algoritm GA i un algoritm DE.
Tabel 1:
3.3 Procedura aplicarii DE
Deoarece algoritmul DE lucreaza cu numere reale cu simpla precizie, mecanismul generarii de
stego-imagini este usor diferit fata de algoritmul GA. Mecanismul de generare a stego-imaginii si
extragerea mesajului ascuns sunt ilustrate in figura 2. Functia de evaluare este aceeasi ca si cea a
mecanismului GA, de exemplu cea data in ec.(2). Foloseste urmatoarea regula pentru a genera o
stego-imagine: Daca valoarea corespunzatoare vectorului DE, d
ij
0.5, atunci s
ij
= c
ij
+1; altfel, s
ij
= c
ij
, unde 1 i,j 8, si s
ij,
respectiv c
ij
, reprezinta pixelii stego-imaginii si ai imaginii ascunse.
Acest mecanism de lucru este ilustrat in figura 3, unde (a) este un vector DE de dimensiune 8 x 8
generat de catre algoritmul DE, (b) este o imagine masca(8 x 8), iar (c) este stego-imaginea
corespunzatoare.
4 Rezultate experimentale
Metodologia bazata pe algoritmul DE si pe algoritmul GA pentru spargerea sistemului vizual
steganalitic(VSS) a fost implementata in java. JDEAL(Java Distributed Evolutionary Algorithms
Library) a fost folosit pentru a implementa GA. Experimentele s-au efectuat pe 50 de imagini
ascunse de dimensiuni 256 x 256 si pe 10 mesaje secrete de dimensiuni 64 x 64. Am incorporat 4
biti in 8 x 8 coeficienti DCT pe frecventele (0, 2), (1, 1), (2, 0) si (3, 0). Unele rezultate au
introduse in tabelul 1 pentru iteratiile 25, 50 si 100.
Figura 4: Imagini inainte si dupa aplicarea metodologiei DE pentru spargerea VSS. (a) Imaginea
masca Lena ; (b) Mesaj secret pentru a fi incorporat ; (c) Stego-imagine dupa 25 de iteratii pentru
fiecare bloc folosind DE ; (d) Mesaj secret extras din (c)
S-au aplicat masuri de erori, cum ar fi Peak Signal to Noise Ratio (PSNR), Mean Square
Error (MSE), Bit Correct Ratio(BCR) si Normalized Correlation (NC), pentru a calcula
distorsiunea imaginii dupa incorporarea mesajului secret. PSNR-ul este adesea folosita in
inginerie pentru a masura raportul dintre semnalul puterii maxime si puterea zgomotului produs.
Deoarece semnalele se incadreaza, de cele mai multe ori, intr-o gama mai larga de valori, se va
aplica o scala logaritmica de decibeli pentru a le limita variatiile. Aceasta masoara calitatea de
reconstructie in comprimarea imaginii ; cu toate acestea, ea ofera doar o msura aspra de calitate.
Comparand doua fisiere video, media PSNR este des calculata. PSNR-ul este astfel definit:
Unde h
Wa
este stego-imaginea, h este imaginea masca, si N x N este dimensiunea
imaginii. MSE-ul pentru o imagine este definit in ec(10).
unde H si W reprezinta inaltimea si latimea imaginii, x
ij
este valoarea pixelului de coordonate
(x, y) intr-o imagine originala, x
ij
este
valoarea binara de pe pozitia i din cadrul measjului secret extras, si reprezinta un operator
SAU-exclusiv. Cu cat este mai mare valoarea BCR cu atat este mai mare corespondenta dintre
cele doua mesaje.
Figura 5:Imagini inainte si dupa aplicarea algoritmilor GA si DE. (a) Imagine masca 256 x 256
Barbara ; (b) Sigla floare 64 x 64 ; (c) Stego-imagine Barbara dupa 100 de iteratii folosind GA ;
(d) Sigla extrasa din (c) ; (e) Stego-imagine Barbara dupa 100 de iteratii folosind DE ; (f) Sigla
extrasa din (e)
Din tabelul 1, se observa clar ca pentru unele iteratii, algoritmul DE nu numai ca
imbunatateste valorile PSNR-ului ale stego-imaginii, dar de asemenea mareste si valorile NC ale
mesajului secret. Mai mult, din tabelul 1 putem observa ca valorile MSE sunt micsorate si
valorile BCR sunt marite comparativ cu algoritmul GA. Procentajul valorilor PSNR creste de la
5% la 13%, iar cel al valorilor NC de la 0.8% la 3%.
Figura 4 contine rezultatele obtinute prin incorporarea unui caracter chinezesc cu
dimensiunea 64 x 64 intr-o imagine Lena cu dimensiunea 256 x 256 pentru 25 de iteratii, fiecare
continand 8 x 8 blocuri, folosind DE. Figura 5 arata rezultatele obtinute prin incorporarea unei
imagini floare cu dimensiunea 64 x 64 intr-o imagine Barbara cu dimensiunea 256 x 256 pentru
100 de iteratii, fiecare continand 8 x 8 blocuri, folosind GA si DE.Comparand figura 5(d si f) cu
figura 6( d si f) putem observa ca mesajele secrete extrase din stego-imaginile generate cu DE au
o calitate mai buna decat cele extrase din stego-imaginile generate cu GA.
Figura 6: Imagini inainte si dupa aplicarea algoritmilor GA si DE. (a) Imagine masca 256 x 256
Cameraman ; (b) Sigla caracter chinezesc 64 x 64 ; (c) Stego-imagine Cameraman dupa 50 de
iteratii folosind GA ; (d) Sigla extrasa din (c) ; (e) Stego-imagine Cameraman dupa 50 de iteratii
folosind DE ; (f) Sigla extrasa din (e)
In aceasta lucrare o abordare evolutiva diferita, numita Evolutie Diferentiala(DE), este
folosita in stenografia imaginii pentru a sparge sistemul visual steganalitic(VSS). Este o schema
adaptive simpla si eficienta pentru o optimizare gloabala a unui spatiu continuu. Rezultatele
experimentale arata ca stenografia bazata pe algoritmul DE este superioara stenografiei bazate pe
algoritmul GA. Aplicarea algoritmului DE nu numai ca mareste valorile PSNR ale stego-
imaginii, dar in acelasi timp imbunatateste si valorile NC si BCR ale mesajelor secrete extrase
din acelasi numar de iteratii realizate cu algoritmul GA.