• Aucun résultat trouvé

W n lerapport entre la

N/A
N/A
Protected

Academic year: 2022

Partager "W n lerapport entre la "

Copied!
6
0
0

Texte intégral

(1)

Compression d'images par codage en sous-bandes

Nicolas Bonneel, Jean-Gabriel Prince

4

èmeannéeGMM,Insa Toulouse -Décembre2004

Introduction

Lebut decesTPest d'appliquerlesconnaissancesacquisesentraitementdusignalàlacompression

d'images.L'imageest unematriced'indicesseréférantàunepalettedeniveaux degris(ontravailleici

avecledessind'Escher).Dansunpremiertempsonessayeraderestituerl'imageoriginalesanspertesen

laltrantàl'aidededierentsltres décritsplusloin. Puis,onessayeradediminuerlataille duchier

del'imaged'unfacteur 10sanstropaltérerlaqualitédel'image.

1 Etude de diérents ltres :

Leltrageestopérésurunsignalmono-dimensionnelquel'onobtiendraenconcatenantleslignesde

l'imageenunseulvecteur.

Remarque :

Latransforméeenzd'unltreestdénie

commmesuit :

H (z) = B(z A ( z 1 1 ) ) = a b 0 0 + + a b 1 1 z z 1 1 + + ... ... + + b a r q z z −r − q

1.1 Filtres passe-bas

1.1.1 Phase linéaire: RIF

PouravoirunltreRIF,il fautquelepolynome

A

soitdedegrénul(vuencours).

Onaalorsunltredontlescoecientssuiventunefonctionsincsymétrique.LacommandeMatlab

qui donnelescoecientsdupolynomeBdeceltreest b=fir1(n,$W_n$),avec

W n

lerapport entre la

fréquencedecoupureetlafréquencemaximaled'observationdusignal.

W n

estunréelcomprisentre0et

1.

n

estledegrédupolynôme

B

.Leltreseraditd'ordren.

Danslatransforméeenz,leshautes fréquencescorrespondentauxpetitsdétailstandisquelesbasses

fréquences donnent l'allure générale de l'image.Ainsi, un ltrepasse-bas laissant passer lesbasses fré-

quences et supprimant leshautes fréquencesdonc lesdétails, vaouter l'image.En revanche, un ltre

passe-hautauratendanceàdevoilerlesdétailsdel'imagedonnantlasensationqu'elleestplusnette.

Ons'interesseiciaultrepasse-bas.

Voicilecodematlabutilisé:

>> b=fir1(n,Wn);

>> x=reshape(IM,1,size(IM,1)*size(IM,2));

>> x=double(x);

>> y=filter(b,1,x);

(2)

>> image(yfinal);

Résultat :"

100 200 300 400 500 600

50

100

150

200

250

300

350

100 200 300 400 500 600

50

100

150

200

250

300

350

image initiale image ltréeavecn=20etWn=0.01

L'eetobtenuparceltreestunoutagedel'image.

Onremarquequeplusn estgrand,pluslepolynomereprésentantleltreestprécis,i.e.si

W n

estpetit

ilfaudraunpolynomededegréélevépourréussiràobtenirleouvoulu.

Onremarqueaussiundecalageverticaldel'imagequel'onexpliquera etcorrigeraparlasuite.

1.1.2 Phase nonlinéaire :Butterworth

Danslecas dultredeButterworth,A n'estplusconstant,onadoncunltreàréponseimpulsion-

nelleinnie.

CommandeMatlabutiliséepourl'obtentiondeAetB:

[B,A]=butter(n,Wn);

Résultat:

100 200 300 400 500 600

50

100

150

200

250

300

350

100 200 300 400 500 600

50

100

150

200

250

300

350

imageinitiale imageltréeavecn=20et Wn=0.1

1.2 Filtres passe-haut à phase linéaire

Le ltre passe-haut est un ltre laissant passer les hautes fréquences et supprimant les basses fré-

quences.Ongénèrelescoecientsdeceltreàl'aidedelacommandefir1(n,Wn,'high').

Onobtientainsiuneimageplusnette,oùlesélémentstropsgrosontétésupprimésetoùseulslesdétails

restentprésents.AvecWn=0.1etn=20,onobtient:

(3)

100 200 300 400 500 600 50

100

150

200

250

300

350

100 200 300 400 500 600

50

100

150

200

250

300

350

image initiale image ltréeavecn=20etWn=0.1

Plus on diminue Wn, plus on laisse passer d'information, et donc plus l'image ressemble à l'image

originale.

En revanche, si on augmente Wn, on ne voit plus que les contours. De plus l'image s'assombrit

de plus en plus, ce qui sera corrigé en augmentant le contraste et la luminosité de telle sorte que

les indices restent entre 0 et 255. Pour cela, on change les couleurs par la commande Matlab :

y = (y − min(y))/(max(y) − min(y)) ∗ 255;

,puisonmodielecontraste:onmetà0endessousd'uncertain

seuil(disons127parexemple)et 255audessusdeceseuil:

y = (y > 127) ∗ 255;

.

Onobtientlesrésultatssuivants:

100 200 300 400 500 600

50

100

150

200

250

300

350

100 200 300 400 500 600

50

100

150

200

250

300

350

image ltréeavecn=20etWn=0.15 image ltréeaveccorrectiondescouleurs

Ondétermineennle kpourcorriger ledécalageverticaldel'image.On obtientdansce cas11.On

sait doncque l'image a été décalée de 11 pixels verticalement. On opère doncà la translation inverse

pourobtenirl'imagenale:

100 200 300 400 500 600

50

100

150

200

250

300

350

image ltréeaveccorrectiondescouleurset dudecalage

1.3 Décimation-interpolation

Ladécimationconsisteàsupprimerunpixelsurdeuxdel'image.L'interpolationconsisteàintercaler

entrechaquepixelunpixelnoir(devaleurégaleà0).Danslecasprésent,nouseectuonsunedécimation

suivieimmédiatementd'uneinterpolation,cequirevientàremplacerunpixelsurdeuxparunpixelnoir.

L'imageobtenueaprèscesdeux opérationest uneimagedemêmetaillerayéeverticalementdenoir.

On applique ensuite un ltre passe-bas. Comme ce ltre élimine les hautes fréquences, et qu'une

rayurenoired'unseulpixelestunélémentdehautefréquence,touteslesrayuressontsuppriméesetl'on

obtient l'image originale,plus sombrepuisque l'énergie totale de l'image aété divisée par deux, et un

peuplusoue(lesautresdétails dehautefréquenceontétéaussisupprimés).Onpeutalorsréajusterla

(4)

255,ressemblantplusàl'imageoriginale.

Ons'aperçoit quecette opérationnous apermis dediviser pardeux la taille de l'image(puisqu'un

pixelsur deuxest noir,cespixels n'ontpasbesoind'être stockés),sanstropperdrede qualité: ils'agit

d'unecompressionunpeunaïveetpeuecacemaisqu'onpourraaméliorerenitérantcesopération.

Conclusion de la partie 1

Nous avons pu programmer une compression avec perte d'information mais de qualité honorable,

permettantdediviserpardeux lenombred'informationsàstocker.Cettecompressionutilisantunltre

passe-baschargéd'éliminerlespixelsnoirsinsérés,elleéliminetouslesdétails d'unseulpixel.

2 Banc de ltres et reconstruction parfaite

2.1 Principe

Leprincipequenousallonsmettreenoeuvreestdedécomposerl'imageen2domainesdefréquences

rendantl'imageparfaitementreconstructibleàpartirdes2sous-images.L'opérationdeltragepasse-haut

et passe-bas doublant levolume d'informations,on pourraeectuer une décimation-interpolation pour

garderlemême nombred'informationsquedansl'imageinitiale.Cettereconstructionseraparfaite sous

laseuleconditionquelesltres

H 0

et

H 1

(lesltrespassebasetpassehautinitiaux)soientcomplémen-

taires,c'estàdire:

G 0 = (z) = H 1 (−z) G 1 (z) = −H 0 (−z)

H 0 (z)G 0 (z) + H 1 (z)G 1 (z) = Cz k

(1)

Lesignaldesortiey seraalorségalausignald'entrée x,àunretardk etunfacteur d'amplication

C

2

près.Onaunbancdeltreàreconstitutionparfaite,c'est àdiresanscompression.

2.2 Décomposition de l'image

Puisque noussommes en2D, nousallonsdiviserl'imageen4parties. Nousobtiendronsàlanune

imageglobaledemêmetaillequ'audébutcomposéede4petitesimages.Notrebutestdeconserverleplus

d'informationpossible dansl'une des 4et queles autres encontiennent peu. Nous noteronsces images

commesuit:

x 00 x 01

x 10 x 11

Le banc de ltre utilisé comporte 2 couplesde ltres, tousde types RIF, l'un passe-bas

H 0

et son

complémentaire

H 1

unpasse-haut,ainsiqu'unpasse-bas:

G 0

etunautrepasse-haut:

G 1

.Onapliquele

schémavuenTPetonobtient:

x 00

,qui asubideuxltragespasse-bas,l'unsurseslignes,l'autressur sescolonnes.N'ayantsubi

quedespasse-bas,cetteimage restetrès prochevisuellementdel'imageinitiale.

x 01

,quiasubiunpasse-bassurleslignesetunpasse-haut surlescolonnes.Ellenousdonne donc

l'information,manquanteà

x 00

,descontourssurlescolonnes.

x 10

onaeectuélemêmetraitementquepour

x 01

maissurleslignes.

x 11

n'asubiquedespasse-haut,elleestdonclapluséloignéevisuellementdel'imagedebase.Elle garde de l'information sur les contours mal traités par lesdeux précédentes, commeles contours

diagonauxparexemple.

Chaquesous image aété décimée deux fois, lapremière lorsdu ltrage sur les lignes, puislors du

ltragesurlescolonnes.Chaquesousimageadonc4foismoinsd'informationquel'imageinitiale,et on

retrouvedonclamêmeinformationenlesajoutantpourobtenirl'imagenale.

(5)

200 400 600 800 1000 1200 50

100

150

200

250

300

350

Visualisationdesquatresous-images

On voitquechacunedessous-imagesaundécalageverticalet horizontal: pourconnaitrelenombre

exactde pixels, onpeut appliquer lesltres utilisés àun diracmonodimensionnel,et ainsi observerla

réponse impulsionnelle,etdonclenombredepixelsdontcelle-ciest décalée.

Onaaussidûappliquerune transformationanepour3dessous-images(toutessauf

x 0 0

)an queles

valeursdespixelssoientcomprisesentre0et255.

2.3 Recomposition de l'image

On reconstruit ensuite lesignal original en appliquant lesltres

G 0

et

G 1

sur les colonnes puis les

lignes(=dansl'ordreinverse desltres

H 0

et

H 1

).Ces ltresnousdonnentune reconstructionparfaite dumomentoùilsverientlarelationdecomplémentaritévueprécédemment.

Onvériecela encalculantl'erreurentrel'imageoriginaleet l'imagereconstruite: onobtientalorsune

erreurdel'ordreduzéromachine,ce quiconrmequ'iln'yapasdepertesd'informations.

Parailleurs,onaaussiappliquélesltres

H 0

et

G 0

àundiracmonodimensionnel,etonaainsipuobserver que le maximumdu signalobservé aété translatéde 23 pixels par rapport au maximum dudirac (en

x=0).

Conclusion de la partie 2

Lestransformationsappliquéesànotreimageapermisdeladécomposerensousimagesdontcertaines

comportaientdel'informationfacilementcompressiblepardesalgorithmescommegzip.C'estcequel'on

feraparlasuiteenitérantcestransformations.

3 Compression des images

3.1 Principe

Onitèresurlapremièreimage

x 00

ladécompositionenimageshautesetbassesfréquences.Lesimages bassesfréquencescontiendrontbeaucoupdevaleurssemblablesetleshautesfréquencesbeaucoupdezéros

(àmoinsd'avoiruneimageextremementbruitée,cequin'estpaslecasici!)etserontdoncdéjàfacilement

compressiblespargzip(eneet,gzipidentielessuitesd'élémentsconsécutifségauxpourlesréduireà2

éléments:lavaleur,et lenombredefoisoùelleest répétée).

De plus, les images

x i 00

contiennent l'essentiel de l'information visuelle (moyenne de l'imageet faibles variations)donconnelaquantierapasmaisonitéreralesdecompositionssurelles.

C'estdonclesimageshautesfréquencesquel'onessairadequantierlepluspourlesrendreplusfacilement

compressiblespargzip.Lesimages

x 01

et

x 10

contiennentlesdétailshorizontauxouverticaux,tandisque

x 11

contientlesdetailsàlafoisverticauxethorizontaux(doncdiagonaux)puisqu'ilasubitunpasse-haut danslesdeuxdirections.

3.2 Résultats : Optimisation d'un facteur 10

Onchercheàobtenirunfacteurdecompressionde10(rapportentrel'imagedirectementcompressée

pargzip,etl'ensembledessousimagessauvegardépuiscompresséavecgzip).Pourcela,onseeraàun

(6)

correcte.

Lescoecientsretenuspourlaquanticationdechaquesousimagesont:

q=[1 800 800 300; 1 200 200 150; 1 100 100 50; 1 35 35 12]

Onobtientainsiuneerreurrelatived'environ17%encomparantl'imagecompresséeetl'imageorigi-

nale,doncune pertede17%d'informations.

Résultatquantitatifdelacompression:

-rw-r--r-- 1 jgprince etud_apo 25032 Dec 16 18:25 compresse.mat.gz

-rw-r--r-- 1 jgprince etud_apo 242664 Dec 3 15:53 escher.mat.gz

-rw-r--r-- 1 jgprince etud_apo 72984 Dec 16 20:33 escher.jpg

soitunrapportde1/10environ(meilleurqu'unjpgsanspertes...).

Conclusion

AucoursdeceTP,nousavonsdansunpremiertempsétudiédiérentsltres:passe-bas,passe-haut,

àphaselinéaireounon,... etobservéleurseetssurdessignauxmonodimensionnels.

Puisonaappliquéunbancdeltreànotreimage,signalbidimensionnel,aucoursdelasecondepartie.

Enn, onapuobserverleseetsqualitatif etquantitatifsd'unecompression d'image.Lebut, arriverà

unebonnecompression(facteur10)sanstropaltérerlaqualité visuelledel'imageaétéatteint.

Références

Documents relatifs

Comme le rayon de l’horizon, et donc celui de l’ombre du trou noir, est proportionnel à la masse, la taille de notre trou noir SgrA* est bien plus petite que celle de M87..

le milieu de la

une chenille 11.. une

«euil euill ouill.. une

un taille-crayon 12.. une

une balançoire. Le mot

des chaussettes 13.. des chaussettes

une imprimante 11.. une imprimante