Tecniche di restauro delle immagini digitali
Le principali fonti di rumore Le principali sorgenti di rumore nelle immagini digitali si presentano durante il processo di acquisizione e di trasmissione. Le prestazioni dei sensori di una fotocamera digitale sono influenzati da una varietà di fattori, come ad esempio le condizioni ambientali oppure dalla qualità degli stessi elementi di cattura.
Le principali fonti di rumore Le immagini posso essere corrotte anche durante la trasmissione, principalmente a causa dell interferenza nel canale di trasmissione. Rumore Input Canale Output
Le principali fonti di rumore Aumento di temperatura del sensore Dalla sensibilità del sensore stesso Le dimensioni del sensore Dalla forte compressione JPEG Tempi lunghi di posa
Classificazione del Rumore Rumore della luminanza L immagine appare granulosa se osservata su uno schermo Rumore di crominanza Appare una sorta di patina di pixel blu o rossi, nelle parti più in ombra dell immagine.
2 Principali categorie di rumori Rumori Casuali Cioè indipendenti dalle coordinate spaziali e dall immagine stessa. Rumore Gaussiano Rumore di Rayleigh Rumore di Erlang Rumore Esponenziale Rumore Uniforme Rumore impulsivo o Sale & Pepe Rumore Speckle
2 Principali categorie di rumori Rumori Periodici Uniforme Non Uniforme È una distorsione sistematica, cioè che si ripete all interno dell immagine.
Restauro VS Enhancement Restauro Enhancement Processo Oggettivo Processo Soggettivo
Tecniche di restauro Filtraggio Spaziale Filtraggio nel dominio delle frequenze
Tipi di filtraggio Filtri di Media Statistiche D ordine Filtri Adattivi Media Aritmetica Media Geometrica Media Armonica Media Controarmonica Max Min Mediano Punto Medio Alpha Trimmed Locale Adattivo Mediano Adattivo Filtraggio Spaziale
Tipi di filtraggio Gaussiano Band Reject Butterworth Band Reject Ideal Band Reject Wiener Filter Notch Filter Filtraggio Nel dominio delle Frequenze
Interfaccia Matlab Importa Immagine
Interfaccia Matlab Applica rumore
Interfaccia Matlab Rimuovi rumore
Caso di Studio 1 Rumore: Gaussiano (media =0, varianza=0.01) Filtri Rimozione rumore: Media Artimetica, Media Geometrica, Mediano, Mediano Adattivo Dimensione Kernel: 5x5
Focus on..rumore Gaussiano Questo tipo di rumore si presenta a causa del rumore presente nei circuiti elettrici o ancora a causa del rumore del sensore dovuto alla scarsa illuminazione e/o alta temperatura
Caso di Studio 1 IM=getimage(handles.axes1); IM_noise=imnoise(IM,'gaussian'); imshow(im_noise,[]); Immagine Originale
Caso di Studio 1 IM=getimage(handles.axes1); IM_noise=imnoise(IM,'gaussian'); imshow(im_noise,[]); Immagine Rumorosa
Caso di Studio 1- The Winner is..
Caso di Studio 1- I Risultati Media Aritmetica Media Geometrica
Caso di Studio 1- I Risultati Mediano Mediano Adattivo
Caso di Studio 1 - Analisi I risultati migliori li otteniamo con il filtro media aritmetica e con il filtro mediano. Media Aritmetica Media Geometrica Il risultato con la media aritmetica risulta essere leggermente più sfocato rispetto al secondo. Mediano Mediano Adattivo
Caso di Studio 1 - Analisi Con la media geometrica si introducono degli artefatti Media Aritmetica Mediano Media Geometrica Mediano Adattivo
Caso di Studio 1 - Analisi Media Aritmetica Mediano Media Geometrica Mediano Adattivo
Caso di Studio 2 Immagine: motherboard.jpg Rumore: Sale e Pepe (densità= 0,1) Filtri Rimozione rumore: Media Controarmonica, Mediano Adattivo, Adattivo locale, Alpha trimmed Dimensione Kernel: 5x5
Focus on..rumore Sale&Pepe Il rumore ad impulsi si riscontra in situazioni dove si verificano transizioni veloci durante il processo di imaging
Caso di Studio 2 IM=getimage(handles.axes1) prompt = {'Densità(max 1)'}; answer = inputdlg(prompt,'inserire i parametri'); IM_noise=imnoise(IM,'salt & pepper',wstr2num(answer{1})); imshow(im_noise,[]); Immagine Originale
Caso di Studio 2 IM=getimage(handles.axes1) prompt = {'Densità(max 1)'}; answer = inputdlg(prompt,'inserire i parametri'); IM_noise=imnoise(IM,'salt & pepper',wstr2num(answer{1})); imshow(im_noise,[]); Immagine Rumorosa
Caso di Studio 2- The Winner is..
Caso di Studio 2- I Risultati Media Controarminica Q=1.5 Media Controarmonica Q=-1.5
Caso di Studio 2- I Risultati Mediano Adattivo Adattivo Locale
Caso di Studio 2- I Risultati Alpha-Trimmed (d=4)
Caso di Studio 2 - Analisi Media Controarmonica Q=1.,5 Media Controarmonica Q=-1.,5 Media Alpha-Trimmed (d=4) Il filtro Controarmonico, non si adatta a questo tipo di rumore. Ottimo è invece il restauro dell immagine con l utilizzo del filtro mediano adattivo. Adattivo Locale Mediano Adattivo Il filtro alpha trimmed ottiene un risultato migliore rispetto a quello adattivo locale, ma tende a sfocare l immagine
Caso di Studio 2 - Analisi Media Controarmonica Q=1.,5 Media Controarmonica Q=-1.,5 Adattivo Locale Media Alpha-Trimmed (d=4) Mediano Adattivo
Caso di Studio 3 Immagine: Lena2.jpg Rumore: Rayleigh (A=2, B=1) Filtri Rimozione rumore: Media Aritmetica, Media Armonica, Media Geometrica, Media Controarmonica Dimensione Kernel: 5x5
Focus on..rumore Rayleigh
Caso di Studio 3 IM=getimage(handles.axes1); [M N]=size(IM) prompt = {'A','B'} answer = inputdlg(prompt,'inserire i parametri'); tmp=im2double(im); r=imnoise2('rayleigh',m,n,wstr2num(answer{1}), wstr2num(answer{2})); Immagine Originale for i=1:m IM_noise(i,:)=(tmp(i,:)+r(i,:)); End IM_noise=normalizeImage(I); imshow(im_noise,[]);
Caso di Studio 2 IM=getimage(handles.axes1); [M N]=size(IM) prompt = {'A','B'} answer = inputdlg(prompt,'inserire i parametri'); tmp=im2double(im); r=imnoise2('rayleigh',m,n,wstr2num(answer{1}), wstr2num(answer{2})); Immagine Rumorosa for i=1:m IM_noise(i,:)=(tmp(i,:)+r(i,:)); End IM_noise=normalizeImage(I); imshow(im_noise,[]);
Caso di Studio 3- The Winner is..
Caso di Studio 3- I Risultati Media Aritmetica Media Geometrica
Caso di Studio 3- I Risultati Media Armonica Media Controarmonica Q=1.5
Caso di Studio 3- I Risultati Media Controarmonica Q=-1.5
Caso di Studio 3 - Analisi Media Aritmetica Media Geometrica Media Armonica I filtri di media, non sono adattati a rimuovere questo tipo di rumore. Da un punto di vista visivo, il filtro che restaura meglio l immagine è il filtro di media aritmetica Media Controarmonica Q=1.5 Media Controarmonica Q=-1,5
Caso di Studio 3 - Analisi Media Aritmetica Media Geometrica Media Armonica Media Controarmonica Q=1.5 Media Controarmonica Q=-1,5
Caso di Studio 4 Immagine: motherboard.jpg Rumore: Uniforme(A=0,B=1) Filtri Rimozione rumore: Mediano, Min, Max, Midpoint, Alpha-Trimmed Dimensione Kernel: 5x5
Focus on..rumore Uniforme
Caso di Studio 4 Immagine Originale IM=getimage(handles.axes1 [M N]=size(IM prompt = {'A','B'}; answer = inputdlg(prompt,'inserire i parametri'); tmp=im2double(im); r=imnoise2('uniform',m,n,wstr2num(answer{1}), wstr2num(answer{2 for i=1:m IM_noise(i,:)=(tmp(i,:)+r(i,:));%Lo applico end IM_noise=normalizeImage(IM_noise); imshow(im_noise,[]);
Caso di Studio 4 Immagine Rumorosa IM=getimage(handles.axes1 [M N]=size(IM prompt = {'A','B'}; answer = inputdlg(prompt,'inserire i parametri'); tmp=im2double(im); r=imnoise2('uniform',m,n,wstr2num(answer{1}), wstr2num(answer{2 for i=1:m IM_noise(i,:)=(tmp(i,:)+r(i,:));%Lo applico end IM_noise=normalizeImage(IM_noise); imshow(im_noise,[]);
Caso di Studio 4- The Winner is..
Caso di Studio 4- I Risultati Mediano MAX
Caso di Studio 4- I Risultati MIN MIDPOINT
Caso di Studio 4- I Risultati Alpha-Trimmed (d=4)
Caso di Studio 4 - Analisi Mediano MAX MIN Il filtro del punto medio, ottiene il miglior restauro. Il filtro Alpha-Trimmed, batte quello mediano. Punto Medio Alpha-Trimmed (d=4) I Filtri di MAX e di MIN, invece hanno un pessimo restauro
Caso di Studio 4 - Analisi Mediano MAX Punto Medio MIN Alpha-Trimmed (d=4)
Caso di Studio 5 Immagine: Lena.jpg Rumore: Periodico Filtri Rimozione rumore: Ideale, Gaussiano, Butterworth BandReject
Focus on..rumore Periodico Si manifesta su un immagine, a causa di interferenze di natura elettrica o elettromeccanica, durante il processo di acquisizione dell immagine
Caso di Studio 5 Immagine Originale function nodeg_callback(hobject, eventdata, handles) IM_noise=getimage(handles.axes1); tmp=double(im_noise); [M N]=size(tmp); u=tmp; for i=1:m for j=1:n u(i,j) = u(i,j) +... 10.*(1+sin(2*pi*((i-1)/M)*200))+... 10.*(1+sin(2*pi*((j-1)/N)*200))+... 10.*(1+cos(2*pi*((i-1)/M+(j- 10.*(1+sin(2*pi*((i-1)/M-(j-1)/N)*141)); end end
Caso di Studio 5 Immagine Rumorosa function nodeg_callback(hobject, eventdata, handles) IM_noise=getimage(handles.axes1); tmp=double(im_noise); [M N]=size(tmp); u=tmp; for i=1:m for j=1:n u(i,j) = u(i,j) +... 10.*(1+sin(2*pi*((i-1)/M)*200))+... 10.*(1+sin(2*pi*((j-1)/N)*200))+... 10.*(1+cos(2*pi*((i-1)/M+(j- 10.*(1+sin(2*pi*((i-1)/M-(j-1)/N)*141)); end end
Caso di Studio 5- The Winner is..
Caso di Studio 5- I Risultati Ideale Gaussiano
Caso di Studio 5- I Risultati Butterworth
Caso di Studio 5 - Analisi Ideale Gaussiano Butterworth Utilizzando una frequenza di taglio D0=199, otteniamo il restauro dell immagine, con tutti e tre i filtri. Il filtro Ideale tende a scurire un po l immagine, mentre quello di Butterworth tende a schiarirla.
Caso di Studio 5 - Analisi Ideale Gaussiano Butterworth
Fine