Universitas Kristen Maranatha v
Restorasi Warna dari Citra yang Terdistorsi Warnanya
Ferry Reza Mardhani / 0322169
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email: ferry.reza@gmail.com
ABSTRAK
Universitas Kristen Maranatha vi
Color Restoration of Distorted Image
Ferry Reza Mardhani/ 0322169
Department of Electrical Engineering, Faculty of Techniques,
Maranatha Christian University
Jalan Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email: ferry.reza@gmail.com
ABSTRACT
Single sensor digital color still/video cameras capture images using a color filter
array (CFA) and require color interpolation (demosaicking) to reconstruct full
color images. The color reproduction has to combat sensor noises which are
channel dependent. If untreated in demosaicking, sensor noises can cause color
artifacts that are hard to remove later by a separate denoising process, because
the demosaicking process complicates the noise characteristics by blending
noises of different color channels. This paper presents a joint
demosaicking-denoising approach to overcome this difficulty. The color image is restored from
noisy mosaic data in two steps. First, the difference signals of color channels are
estimated by linear minimum mean square-error estimation. This process
exploits both spectral and spatial correlations to simultaneously suppress sensor
noise and interpolation error. With the estimated difference signals, the full
resolution green channel is recovered. The second step involves in a
wavelet-based denoising process to remove the CFA channel-dependent noises from the
reconstructed green channel. The red and blue channels are subsequently
recovered. Simulated and real CFAmosaic data are used to evaluate the
performance of the proposed joint demosaicking-denoising scheme and compare
Universitas Kristen Maranatha vii
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... x
BAB I PENDAHULUAN
1.1.
Latar Belakang ... 1
1.2.
Perumusan Masalah ... 1
1.3.
Tujuan Tugas Akhir ... 1
1.4.
Pembatasan Masalah ... 2
1.5.
Metodologi Penelitian ... 2
1.6.
Sistematika Penulisan ... 2
BAB II LANDASAN TEORI 2.1.
Citra Dijital
... 42.2
Pengolahan Citra Dijital
... 6Universitas Kristen Maranatha viii
2.4
Pemodelan noisy primary difference signal
... 82.
5 Perhitungan sinyal selisih warna
... 112.6
Power Spectrums of PDS x, DSN v, and IE
... 112.7
Perhitungan Selisih Warna (PDS)
... 122.
8 Denoising
... 132.9
Demosaicking
... 192.9.1
Initialization
... 202.9.2
Enchanment
... 202.9.3
Refinement Process
... 212.9.4
Kesalahan yang mungkin timbul
... 212.10 P
SNR ……….
... 232.11
Color filter array
... 232.12 Bayer Filter Array ... 24
BAB III PERANCANGAN DAN IMPLEMENTASI III. 1.
Proses perancangan secara Umum
... 25III.2.
Proses Joint Demosaiking dan Denoising
... 26III.2.1 Proses Demosaicking ... 26
Universitas Kristen Maranatha ix
BAB IV DATA DAN ANALISIS
IV.1. Data Simulasi ... 29 IV.2. Analisis Data ... 31 BAB V KESIMPULAN SARAN
V.1. Kesimpulan... 32 V.2. Saran ... 32
DAFTAR PUSTAKA ... 33
Universitas Kristen Maranatha x
DAFTAR GAMBAR
Gambar
2.1 Citra 2 Variabel
... 4
Gambar
2.2 komponen RGB
... 5
Gambar
2.3 Konfigurasi mozaik channel warna pada citra
... 9
Gambar
2.4 Sinyal Orisinal
... 13
Gambar
2.5 Signal noise range (-0.5; 0.5)
... 14
Gambar
2.6 Hasil sinyal yang telah didenoisng dengan DWT ... 14
Gambar
2.7 Signal noise (noise range (-0.5; 0.5))
... 15
Gambar
2.8 Hasil sinyal yang telah didenoising dengan DWT
... 15
Gambar
2.9 Sinyal dengan gaussian noise (sigma=0.2)
... 16
Gambar
2.10 Hasil sinyal yang telah didenoising dengan DWT
... 16
Gambar 2
.11 Sinyal dengan gaussian noise (sigma=0.5)
... 17
Gambar
2.12 Hasil sinyal yang telah didenoising dengan DWT
... 17
Gambar
2.13 Sinyal dengan gaussian noise (sigma=0.5)
... 18
Gambar
2.14 Hasil sinyal yang telah didenoising dengan DWT
... 18
Gambar
2.15 Proses demosaicing (interpolasi warna)
... 19
Gambar
2.16 Warna channel yang bertetangga
... 21
Gambar
2.17 Pemrosesan citra
... 21
Gambar
2.18 Water color dan grid Effect
... 22
Universitas Kristen Maranatha xi
Gambar
2.20 Bayer color filter array pattern
... 24
Gambar
5.1 Daun pintu sebelum dan sesudah proses
... 29
Gambar
5.2 Jendela sebelum dan sesudah proses
... 30
Universitas Kristen Maranatha xii
DAFTAR TABEL
LAMPIRAN
PROGRAM MATLAB yang digunakan pada M-File
%%%1. Simulasi dari noisy CFA image%%%%%%
clear all;
I=imread('kodak_fence','tif'); imshow(I);
I=double(I); [n,m,ch]=size(I);
figure(1);clf; imshow(I/255);
%%penambahan noise
noi=randn(n,m);
vr=12;%%noise level di red channel
vb=10;%%noise level di blue channel
vg=13;%%noise level di green channel
In(:,:,3)=I(:,:,3)+vb*noi; In(:,:,1)=I(:,:,1)+vr*noi; In(:,:,2)=I(:,:,2)+vg*noi;
%% penghitungan CFA (Bayer pattern) citra
mI(1:n,1:m)=In(:,:,2);
mI(1:2:n,2:2:m)=In(1:2:n,2:2:m,1);
mI(2:2:n,1:2:m)=In(2:2:n,1:2:m,3);%mI adalah di simulasikannya citra mosaic noisy CFA
%%2. Joint denoising and demosaicking%%%%%
aku=imread('kodak_fence','tif'); Id1=aku;
Id2=den_bayernoise(Id1,vr,vg,vb);
snrf=csnr(Id2,I,25,25) %PSNR yang telah di restorasi secara penuh
figure(2);clf; imshow(Id2/255);
function out=ndmsc(A,vr,vg,vb)
% vr,vg,vb -- the noise levels pada tiga channels
[N,M]=size(A);
%%filtering%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f=[-1/4 1/2 1/2 1/2 -1/4]; Ah=conv2(A,f);
Ah=Ah(:,3:2+M); Av=conv2(A,f'); Av=Av(3:2+N,:);
%%menghitung color differences%%%%%%%%%%
dh=zeros(N,M); dv=dh;
for i=1:2:N
dh(i,1:2:M)=A(i,1:2:M)-Ah(i,1:2:M); dh(i,2:2:M)=Ah(i,2:2:M)-A(i,2:2:M); dv(i,1:2:M)=A(i,1:2:M)-Av(i,1:2:M); dv(i,2:2:M)=Av(i,2:2:M)-A(i,2:2:M);
end
for i=2:2:N
dh(i,2:2:M)=A(i,2:2:M)-Ah(i,2:2:M); dh(i,1:2:M)=Ah(i,1:2:M)-A(i,1:2:M); dv(i,2:2:M)=A(i,2:2:M)-Av(i,2:2:M); dv(i,1:2:M)=Av(i,1:2:M)-A(i,1:2:M);
end
%%%%%%menghitung fungsi autocorrelation%%%%%%%%%%%%%%%%%%%%
fr(8)=vr^2/8+vg^2/8; fr(2)=fr(8); fr(7)=vr^2/4+vg^2/4; fr(3)=fr(7); fr(6)=3*vr^2/8+3*vg^2/8; fr(4)=fr(6); fr(5)=3*vr^2/8+4*vg^2/8;
fb(9)=vb^2/16; fb(1)=fb(9); fb(8)=vb^2/8+vg^2/8; fb(2)=fb(8); fb(7)=vb^2/4+vg^2/4; fb(3)=fb(7); fb(6)=3*vb^2/8+3*vg^2/8; fb(4)=fb(6); fb(5)=3*vb^2/8+4*vg^2/8;
%%%%%%%%%%%%low-pass filtering
f=[4 9 15 23 26 23 15 9 4]/128; adh=conv2(dh,f);
adh=adh(:,5:4+M); adv=conv2(dv,f'); adv=adv(5:4+N,:);
%%%%%%%%DCN proses perhitungan%%%%%%%%%%%%%%%%%%%%
f=conv(f,f);%%dianggap f adalah symmetrical, f(l)=f(-l).
fr=conv(fr,f);lfr=(length(fr)+1)/2; fb=conv(fb,f);lfb=(length(fb)+1)/2; pnr=fr(lfr);
pnb=fb(lfb);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
s=4;
%%%mendapatkan nilai G
rAg=A;
for i=5:2:N-4 for j=6:2:M-4 th=dh(i,j-s:j+s); tv=dv(i-s:i+s,j); ath=adh(i,j-s:j+s); atv=adv(i-s:i+s,j); %%%%%%%%
ph=cov(ath)-pnr; ph=max(ph,0.01); Rh=mean((ath-th).^2)+0.1; h=mh+ph*(ph+pnr+Rh)^(-1)*(th(s+1)-mh); H=ph-ph*(ph+pnr+Rh)^(-1)*ph+0.1; %%%%%%%%%%%%%%%%%%%%%%%% mv=mean(atv);%atv(s+1); pv=cov(atv)-pnr; pv=max(pv,0.01); Rv=mean((atv-tv).^2)+0.1; v=mv+pv*(pv+pnr+Rv)^(-1)*(tv(s+1)-mv); V=pv-pv*(pv+pnr+Rv)^(-1)*pv+0.1; d=(V*h+H*v)/(H+V); %%%%%%% rAg(i,j)=A(i,j)+d; end end
mv=mean(atv);%atv(s+1);
pv=cov(atv)-pnb; pv=max(pv,0.01);
Rv=mean((atv-tv).^2)+0.1;
v=mv+pv*(pv+pnb+Rv)^(-1)*(tv(s+1)-mv); V=pv-pv*(pv+pnb+Rv)^(-1)*pv+0.1; d=(V*h+H*v)/(H+V);
%%%%%%%
rAg(i,j)=A(i,j)+d;
end end
rAg = round(rAg); ind = find(rAg>2^8-1); rAg(ind) = 2^8-1; ind = find(rAg<0); rAg(ind) = 0;
%%%%%%%%%%%Get R,B
rAr=A;rAb=A;
for i=6:2:N-5 for j=6:2:M-5
rAr(i,j+1)=rAg(i,j+1)-(rAg(i-1,j)-rAr(i-1,j)+rAg(i-1,j+2)-rAr(i-1,j+2)+rAg(i+1,j)-rAr(i+1,j)+rAg(i+1,j+2)-rAr(i+1,j+2))/4;
rAb(i+1,j)=rAg(i+1,j)-(rAg(i,j-1)-rAb(i,j-1)+rAg(i,j+1)-rAb(i,j+1)+rAg(i+2,j-1)-rAb(i+2,j-1)+rAg(i+2,j+1)-rAb(i+2,j+1))/4;
end end
%%%%%%%%%%%%
for i=6:2:N-5 for j=6:2:M-5
rAr(i+1,j+1)=rAg(i+1,j+1)-(rAg(i,j+1)-rAr(i,j+1)+rAg(i+1,j)-rAr(i+1,j)+rAg(i+1,j+2)-rAr(i+1,j+2)+rAg(i+2,j+1)-rAr(i+2,j+1))/4;
rAb(i+1,j+1)=rAg(i+1,j+1)-(rAg(i,j+1)-rAb(i,j+1)+rAg(i+1,j)-rAb(i+1,j)+rAg(i+1,j+2)-rAb(i+1,j+2)+rAg(i+2,j+1)-rAb(i+2,j+1))/4;
end end
rAr = round(rAr); ind = find(rAr>2^8-1); rAr(ind) = 2^8-1; ind = find(rAr<0); rAr(ind) = 0; rAb = round(rAb); ind = find(rAb>2^8-1); rAb(ind) = 2^8-1; ind = find(rAb<0); rAb(ind) = 0;
out(:,:,1) = rAr; out(:,:,2) = rAg; out(:,:,3) = rAb;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
return;
function I=den_bayernoise(In,vr,vg,vb);
rIn(:,:)=In(:,:,1); gIn(:,:)=In(:,:,2); bIn(:,:)=In(:,:,3);
Ir = round(Ir); ind = find(Ir>2^8-1); Ir(ind) = 2^8-1; ind = find(Ir<0); Ir(ind) = 0;
Ig = round(Ig); ind = find(Ig>2^8-1); Ig(ind) = 2^8-1; ind = find(Ig<0); Ig(ind) = 0;
Ib = round(Ib); ind = find(Ib>2^8-1); Ib(ind) = 2^8-1; ind = find(Ib<0); Ib(ind) = 0;
I(:,:,1)=Ir; I(:,:,2)=Ig; I(:,:,3)=Ib;
return;
function A=den_bayer(In,vr,vg,vb) [ld,hd,lr,hr]=wfilters('db4'); J=3;
[S,HW,WH,WW] = denocwt2d(ld,hd,J,In,vr,vg,vb); A=iocwt2d(S,HW,WH,WW,lr,hr);
BAB I Pendahuluan
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
Bab ini membahas tentang Latar Belakang, Perumusan Masalah,
Pembatasan Masalah, Tujuan, Metodologi Penelitian dan Sistematika Penulisan.
1.1
Latar Belakang
Kamera dijital pada dewasa ini sudah menjadi bagian dari suatu gaya
hidup yang tidak bisa dipisahkan dari kehidupan masyarakat modern. Hasil dari
citra yang diperoleh bisa mengalami distorsi warna pada kamera. Penataan ulang
warna dari restorasi warna tersebut harus memperhatikan faktor noise karena
bisa menimbulkan artifact(noise yang tertinggal) pada citra sehingga proses
denoising dan demosaicking harus dilaksanakan berurutan agar warna pada citra
tersebut dapat direstorasi dengan maksimal.
1.2
Perumusan Masalah
Berdasarkan latar belakang yang dikemukakan di atas maka masalah yang
akan dibahas dalam Tugas Akhir ini yaitu :
Bagaimana hasil restorasi warna citra yang mengalami distorsi
warna?
1.3
Tujuan Tugas Akhir
Membuat aplikasi restorasi warna dengan program matlab
BAB I Pendahuluan
Universitas Kristen Maranatha
2
1.4
Pembatasan Masalah
Sesuai dengan permasalahan yang akan diteliti lebih dalam,
batasan-batasan masalahnya yaitu:
•
Reproduksi warna primary yaitu warna dasar (green/red/blue)
•
Citra yang akan diperbaiki memiliki format bmp/ gif/ jpeg.
1.5
Metodologi Penelitian
Pengerjaan Tugas Akhir ini bersifat simulasi yang diawali dengan
pengumpulan materi yang disertai dengan studi literatur lalu dilanjutkan dengan
uji coba.
1.6
Sistematika Penulisan
Adapun sistematika penulisan tugas akhir ini, disusun sebagai berikut :
BAB I
PENDAHULUAN
Pada bab ini berisi tentang latar belakang, identifikasi masalah,
perumusan masalah, tujuan, pembatasan masalah, dan sistematika
penulisan laporan tugas akhir.
BAB II
LANDASAN TEORI
Bab ini menjelaskan tentang citra, proses demosaiking, proses denoising,
Matlab dan perhitungan-perhitungan untuk proses demosaiking dan
denoising
BAB III
PERANCANGAN SIMULASI
BAB I Pendahuluan
Universitas Kristen Maranatha
3
BAB IV
HASIL SIMULASI DAN ANALISIS DATA
Bab ini menjelaskan analisis data-data yang diperoleh dari simulasi yang
telah dirancang dan menunjukkan hasil dari citra yang telah direstorasi.
BAB V
KESIMPULAN DAN SARAN
BAB V Kesimpulan Dan Saran
32 Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
V.1 Kesimpulan
• Dengan Proses denoising dan demosaicking yang dilakukan secara berurutan maka bisa dihasilkan gambar yang lebih baik.
• Metoda Demosaicking membuat warna yang yang ada pada citra lebih baik tetapi warna terdapat artifacts oleh karena itu penghilangan detail blurred bisa
didapatkan melalui proses denoising
V.2 Saran
• Rekontruksi warna sebaiknya di lakukan secara bersamaan untuk proses demosaiking dan denoising agar warna rekontruksi yang di dapat maksimal
• Ukuran citra yang di gunakan untuk proses restorasi menggunakan ukuran pixel yang dibatasi, karena bila terlalu besar pixelnya maka citra tersebut tidak bisa
Daftar Pustaka
Universitas Kristen Maranatha 33
Daftar Pustaka
1.
J. E. Ada s, Desig of pra ti al olor filter arra i terpolatio algorith s
for digital a eras,
Proc. SPIE
, vol. 3028, p. 117
–
125, 1997.
2.
E. Cha g, S. Cheu g, a d D. Y. Pa , Color filter arra re o er usi g a
threshold-based variable n
u
er of gradie ts,
Proc. SPIE
, vol. 3650, pp.
36
–
43, 1999
3.
K. Hiraka a a d T. W. Parks, Adapti e ho oge eit
-directed
de osai i g algorith ,
IEEE Trans. Image Process.
, vol. 14, no. 3, pp.
360
–
369, Mar. 2005
4.
X. Li, De osai i g
su essi e appro i atio ,
IEEE Trans. Image
Process.
, vol. 14, no. 3, pp. 370
–
379, Mar. 2005
5.
S. G. Cha g, B. Yu, a d M. Vetterli, Spatiall adapti e
a elet
thresholdi g ith o te t odeli g for i age de oisi g,
IEEE Trans.
Image Process.
, vol. 9, no. 9, pp. 1522
–
1531, Sep. 2000
6.
Pizuri a a d W. Philips, Esti ati g the pro a ilit of the prese e of a
signal of interest in multiresolution single- and multiband image
de oisi g,
IEEE Trans. Image Process.
, vol. 15, no. 3, pp. 654
–
665, Mar.
2006
7.
J. Portilla, V. Strela, M. J.
Wai
right, a d E. P. Si o elli, I age
de oisi g usi g s ale i tures of Gaussia s i the a elet do ai ,
IEEE
Trans. Image Process.
, vol. 12, no. 11, pp. 1338
–
1351, Nov. 2003
8.
K. Hiraka a a d T. W. Parks, Joi t de osai ki g a d de oisi g,
IEEE
Trans. Image Process.
, vol. 15, no. 8, pp. 2146
–
2157, Aug. 2006
9.
http://en.wikipedia.org/wiki/bayer_filter
10.
http://en.wikipedia.org/wiki/color_filter_array