Transcript Curs 9

APLICAŢII ALE PCA ÎN
COMPRESIA ŞI RESTAURAREA
SEMNALELOR
MATRICEA MOORE-PENROSE (PSEUDO-INVERSA)
ALGORITMUL DE ELIMINARE A ZGOMOTULUI CORELAT
PRIN TEHNICI PCA
 Tehnica propusă pentru eliminarea zgomotului este bazată pe reprezentarea semnalului
imagistic în termenii componentelor principale şi procesarea vectorului “alb” astfel
obţinut. Modelul este următorul.
 Fie X  X 0  η semnalul imagistic observat, unde
o X 0 este setul de imagini originale, vector aleator cu medie μ 0 şi matrice de
covarianţă Σ 0
o η este componenta zgomot, repartizată normal, cu medie μ şi matrice de
covarianţă Σ 
 Ipotezele de lucru sunt
o semnalul iniţial este necorelat cu componenta zgomot aditiv
o vectorii medie şi matricele de covarianţă corespunzătoare semnalului iniţial,
respectiv zgomotului sunt date cunoscute.
 Metoda propusă pentru eliminarea zgomotului presupune parcurgerea a două etape:
o aplicarea unei transformări pentru decorelarea componentei zgomot
o aplicarea unei metode de tip contracţie a codului pentru eliminarea zgomotului
semnalului obţinut în urma procesului de decorelare.
Datele observate - imagini monocrome prelucrate considerând descompunerea în blocuri
de dimensiune p  p , ulterior liniarizate n  p  p  . În etapa de preprocesare datele sunt
reduse la intervalul 0,1 şi centrate,
Y  X  EX  X 0  μ 0  η  μ , unde EY   0n şi Cov Y , Y T   Σ 0  Σ 
Fie A matricea cu coloane un set de vectori proprii ai matricei Σ 01 Σ  şi
Λ  diag 1 ,  2 ,...,  n  , unde 1 ,  2 ,...,  n sunt valorile proprii ale lui Σ 01 Σ  (sunt numere
pozitive, deşi Σ 01 Σ  nu este simetrică) ; A diagonalizează simultan matricele de covarianţă
Σ 0 şi Σ ,
A T Σ 0 A  I n şi A T Σ  A  Λ
Fie transformarea Z  A T Y .
Rezultă Cov Z, Z T   A T Σ 0  Σ  A  I n  Λ , deci componentele lui Z sunt necorelate.
Deoarece Z  A T Y  A T X 0  μ 0   A T η  μ   , componenta η'  A T η  μ   corespunde
zgomotului rezultat în vectorul transformat A T X 0  μ 0 




Cov η' , η'T  A T Cov η  μ  , η  μ   A  A T Σ  A  Λ
T
Pentru eliminarea zgomotului din imaginea transformată Z utilizăm funcţia de contracţie
g u   sign u  max 0, u  2 i .
Fie Z0 imaginea rezultată în urma aplicării funcţiei de contracţie şi Y0 varianta imaginii
Y din care este eliminată componenta zgomot, unde
Z 0  A T Y0 .
Pe baza proprietăţii că A diagonalizează simultan cele două matrice de covarianţă, avem
AA T  Σ 01 , AZ 0  AAT Y0  Σ 01Y0
 
deci, Y0  A
T 1
Z0  Σ0 AZ 0
Varianta restaurată a lui X0 este
Xˆ 0  Y0  EX  , deci
 
Xˆ 0  Σ 0 AZ 0  EX   A T
1
Z0  EX  .
Implementare în varianta 1. Se dispune de μ , Σ0 , μ  şi Σ  .
Obţinerea imaginilor cu zgomot
 I1 , I2 ,..., I nr exp imagini neperturbate de dimensiune m  n , instanţe ale lui X 0 . Se lucrează
I
cu blocuri 16x16 şi liniarizate şi normalizate I i  i 255 , 1  i  nrexp . După cum rezultă din
model, se dispune de μ , Σ0 , μ  şi Σ  - pot fi calculaţi direct, primii doi parametri din
imaginile neperturbate pentru variantele normalizate ale imaginilor, ceilalţi conform
zgomotului.
 Perturbarea: este realizată cu zgomot corelat, fiecare bloc liniarizat de dimensiune 256 este
perturbat cu acelaşi zgomot normal, de medie μ  şi matrice de c ovarianţă Σ  . Rezultă
J1 , J 2 ,..., J nr exp imagini perturbate de dimensiune p , liniarizate şi împărţite în blocuri.
 Algoritmul de eliminare a zgomotului
 Date de intrare: J1 , J 2 ,..., J nr exp , μ , Σ0 , μ  şi Σ  Imaginile se normalizează (se aduc
valorile matricelor în [0,1], prin împărţire la 255). μ  
μ
255
Σ 
Σ
2552
1
J

J

1. Centrarea: i i nr exp
nr exp
J
k,1i
 nrexp
k 1
2. Construieşte matricea transformării liniare - A matricea cu coloane vectori proprii ai
matricei Σ 01 Σ  , Λ  diag 1 ,  2 ,...,  p  şi A diagonalizează simultan matricele de covarianţă
Σ 0 şi Σ
apel MATLAB [A,Lambda]=eig(sigmap,sigma);
3. Aplică transformarea directă:
Z i  AT J i , 1  i  nrexp
4. Aplică funcţia de contracţie a codului


Z 0i t   g Z i t   sign Z i t  max 0, Z i t   2 t , 1  i  nr exp, 1  t  p
5.Aplică transformarea inversă
 
Y 0i  pinv AT Z 0i , 1  i  nrexp
6. Calculează o aproximare a imaginilor iniţiale
X i  μ  Y 0i , 1  i  nrexp
Jˆ  255 * X , 1  i  nrexp
i
i
Imagini perturbate
VARIANTA 1 DE IMPLEMENTARE
Implementarea în varianta 2. Se dispune doar de μ  şi Σ  .
 Valorile parametrilor μ , Σ0 , sunt estimate din date, pe baza observaţiilor asupra
imaginilor cu zgomot
1
μ 
 Fie 1 nr exp
nr exp
1
J k Σ1 
,
nr exp 1
k 1

nr exp
T



J

μ
J

μ
 k 1 k 1
k 1
 Algoritmul este implementat pentru μˆ 0  μ 1  μ  , Σˆ 0  Σ1  Σ 
 Observaţii
1. Numărul exemplelor trebuie să fie suficient de mare încât valorile estimate pentru
vectorul medie şi matricea de covarianţă să fie apropiate de cele teoretice (de
exemplu fiecare imagine neperturbată generează NR imagini perturbate; numărul
exemplelor perturbate devine nrexp=NR*nrexp).
2. Imaginile reconstruite sunt obţinute pe baza variantei 1 de implementare pentru
valorile μˆ 0  μ 1  μ  , Σˆ 0  Σ1  Σ  , μ  şi Σ  . Pentru o mai bună reconstrucţie,
aproximarea fiecărei imagini neperturbate este obţinută ca medie a tuturor
variantelor reconstruite ale aceleiaşi imagini.
Imagini perturbate
VARIANTA 2 DE IMPLEMENTARE
Imagini restaurate –sunt cunoscute media si covarianta zgomotului (zgomotul este aditiv, corelat si de medie
generata aleator); NR=50 (fiecare imagine “curata” a fost transmisa prin canalul de comunicatie care genereaza
zgomotul de NR ori; fiecare imagine restaurata este media variantelor restaurate ale celor NR exemple bruiate
primite)
OBSERVAŢII
1. În algoritmii prezentaţi în cursurile 6,7, 8 şi 9 matricele de covarianţă de selecţie pot fi
slab condiţionate, în principal din cauza numărului relativ mic de observaţii asupra
vectorilor aleatori (date de tip semnal imagistic, sonor etc.). În plus, metodele de calcul
numeric folosite pot produce rezultate perturbate (valori proprii nule, vectori proprii cu
valori numere complexe, cu partea imaginară foarte mică în modul şamd).
2. Pe baza observaţiei 1, este recomandată folosirea pseudoinversei în locul inversei unei
matrice (chiar dacă, teoretic, matricea de inversat este nesingulată), sunt utilizate doar
valorile proprii nenule şi, implicit, componentele principale asociate acestora.
3. Valorile proprii calculate, deşi teoretic sunt numere reale pozitive, pot conţine şi părţi
imaginare (foarte mici în modul). În acest caz sunt considerate părţile reale, şi numai
acelea pozitive.
4. Funcţia de contracţie a codului este aplicată doar în cazul valorilor proprii pozitive (sau
acelor valori proprii cu parte reală număr pozitiv).