implementasi minimisasi l1-l0 untuk restorasi citra yang...

65
Tugas Akhir – KI091391 1 Implementasi Minimisasi l1-l0 untuk Restorasi Citra yang Mengalami Degradasi oleh Derau Gaussian Campuran (Kata kunci: restorasi, denoising, derau Gaussian Campuran, Derau salt and pepper) PRESENTASI TUGAS AKHIR – KI091391 Penyusun Tugas Akhir : Suci Istachotil Jannah (NRP : 5108.100.131) Dosen Pembimbing : Yudhi Purwananto, S.Kom, M.Kom. Rully Soelaiman, S.Kom, M.Kom. 02/02/2012

Upload: others

Post on 04-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Tugas Akhir – KI091391 1

    Implementasi Minimisasi l1-l0 untuk Restorasi Citra yang Mengalami Degradasi oleh Derau Gaussian Campuran

    (Kata kunci: restorasi, denoising, derau Gaussian Campuran, Derau salt and pepper)

    PRESENTASI TUGAS AKHIR – KI091391

    Penyusun Tugas Akhir : Suci Istachotil Jannah

    (NRP : 5108.100.131)

    Dosen Pembimbing : Yudhi Purwananto, S.Kom, M.Kom.

    Rully Soelaiman, S.Kom, M.Kom.

    02/02/2012

  • • Restorasi atau pengembalian kualitas pada citra adalah permasalahan yang sangat penting dalam pengolahan citra digital, salah satunya adalah masalah denoising

    • Setiap jenis derau/noise membutuhkan penangan yang berbeda-beda

    • Dibutuhkan metode denoising untuk citra yang terkena degradasi oleh derau Gaussian campuran, yaitu derau Gaussian dan salt and pepper

    Tugas Akhir – KI091391 2

    LATAR BELAKANG

    02/02/2012

  • Tugas Akhir – KI091391 3

    RUMUSAN MASALAH

    1. Bagaimana memahami konsep dasar dari derau Gaussian campuran

    2. Bagaimana merancang algoritma untuk proses restorasi citra yang mengalami degradasi oleh derau Gaussian campuran

    3. Bagaimana mengimplementasi algoritma yang telah dirancang

    4. Bagaimana menguji coba hasil implementasi yang dilakukan

    02/02/2012

  • Tugas Akhir – KI091391 4

    BATASAN MASALAH

    1. Perbaikan citra dilakukan terhadap citra yang terkena degradasi oleh derau Gaussian dan derau impuls

    2. Derau impuls dalam hal ini adalah salt and pepper

    3. Citra yang dilakukan untuk pengujian adalah citra abu-abu

    4. Sistem perangkat lunak yang digunakan untuk membangun sistem adalah MATLAB 7.6.0 02/02/2012

  • Tujuan dari pembuatan tugas akhir ini adalah membuktikan bahwa proses restorasi citra yang terkena derau Gaussian campuran, dalam hal ini derau Gaussian dan derau salt and pepper, dapat dilakukan dengan menggunakan metode minimisasi l1-l0 .

    Tugas Akhir – KI091391 5

    TUJUAN

    02/02/2012

  • Tugas Akhir – KI091391 6

    GAMBARAN UMUM APLIKASI

    Learning Dictionary Menggunakan MK-SVD

    Rekonstruksi citra derau via minimisasi l1-l0

    Citra derau Gaussian + salt and pepper Citra hasil

    denoising

    Denoising + Pembentukan matriks karakteristik dengan AMF

    02/02/2012

    Hitung PSNR

  • Tugas Akhir – KI091391 7

    GAMBARAN UMUM APLIKASI

    Learning Dictionary Menggunakan MK-SVD

    Rekonstruksi citra derau via minimisasi l1-l0

    Citra derau Gaussian + salt and pepper Citra hasil

    denoising

    02/02/2012

    Hitung PSNR

    Denoising + Pembentukan matriks karakteristik dengan AMF

  • Reduksi Derau + Pembentukkan Matriks karakteristik Menggunakan Adaptive Median Filter (AMF)

    Tugas Akhir – KI091391 8

    Membaca citra abu-abu Inisialisasi wmax dan

    matriks padding

    Copy citra inputan ke matriks padding

    Citra derau Gaussian + salt and pepper

    02/02/2012

    Deteksi meggunakan AMF

  • Tugas Akhir – KI091391 9 02/02/2012

    Proses 1

    1 • f(i,j) = 103, w = 3,

    Karakteristik matriks X

    2

    • Piksel dalam window= 87,89,93,94,98,101,103,105,106 (setelah diurutkan)

    3 • Hitung nilai Smin = 87

    4 • Hitung nilai Smax = 106

    5 • Hitung nilai Smed = 98

    Proses Adaptive Median Filter (AMF)

    Citra f

  • Tugas Akhir – KI091391 10 02/02/2012

    Proses 1 Proses 2 Proses 3

    • If Smin

  • Tugas Akhir – KI091391 11 02/02/2012

    Proses 1 Proses 3

    • If w≤wmax Go to proses 2 • Else %f(i,j) derau f(i,j) = Smed X(i,j)=0

    Proses Adaptive Median Filter (AMF)

    Citra f

  • Tugas Akhir – KI091391 12 02/02/2012

    Proses 1 Proses 3 Proses 4

    • If Smin

  • Tugas Akhir – KI091391 13

    GAMBARAN UMUM APLIKASI

    Rekonstruksi citra derau via minimisasi l1-l0

    Citra derau Gaussian + salt and pepper Citra hasil

    denoising

    Denoising + Pembentukan matriks karakteristik dengan AMF

    02/02/2012

    Hitung PSNR

    Learning Dictionary Menggunakan MK-SVD

  • MK-SVD

    Tugas Akhir – KI091391 14 02/02/2012

    Inisialisasi Dictionary + representasi sinyal

    Sparse Coding (OMP)

    Update Dictionary Per atom tiap iterasi

  • Update Dictionary Per atom tiap iterasi

    Sparse Coding (OMP)

    MK-SVD

    Tugas Akhir – KI091391 15 02/02/2012

    MK-SVD

    Inisialisasi Dictionary + representasi sinyal

  • MK-SVD Sparse coding Update

    Dictionary

    Inisialisasi Dictionary

    • Menggunakan DCT (Discreate Cosine Transform) Overcomplete Dictionary

    • Dictionary terdiri dari kolom-kolom atom

    02/02/2012 Tugas Akhir – KI091391 16

    Learning Dictionary Menggunakan MK-SVD

    Inisialisasi Riju dan RijX

    • Riju, representasi sinyal dari citra u

    • RijX, representasi sinyal dari matriks karakteristik

  • Inisialisasi Dictionary + representasi sinyal

    MK-SVD

    Tugas Akhir – KI091391 17 02/02/2012

    Update Dictionary Per atom tiap iterasi

    Sparse Coding (OMP)

  • Diberikan D, RijU, dan RijX, Bagaimana menemukan Koefisien Matriks Sparsity ?

    Tugas Akhir – KI091391 18

    Sparse Coding

    02/02/2012

    Tugas Akhir – KI091391 18

    MK-SVD Sparse coding Update

    Dictionary

    D, RijU, dan RijX

    Pilih dk (kolom ke-k)dengan rejeksi Maksimal pada residual

    Hitung :

    Update Residual residual≤error

    keluar

    yes

    No

    Penyeleseiannya dengan menggunakan metode OMP (Orthogonal Matching Pursuit) yang mempunyai karakteristik greedy

    α

    α

  • Inisialisasi Dictionary + representasi sinyal

    MK-SVD

    Tugas Akhir – KI091391 19 02/02/2012

    Sparse Coding (OMP)

    Update Dictionary Per atom tiap iterasi

  • Diberikan D, Riju, RijX, untuk tiap atom wl

    MK-SVD Sparse coding Update

    Dictionary

    02/02/2012 Tugas Akhir – KI091391 20

    Update Dictionary

    Hitung nilai residual (error)

    Update menggunakan

    α

  • Tugas Akhir – KI091391 21

    GAMBARAN UMUM APLIKASI

    Learning Dictionary Menggunakan MK-SVD

    Citra derau Gaussian + salt and pepper Citra hasil

    denoising

    Denoising + Pembentukan matriks karakteristik dengan AMF

    02/02/2012

    Hitung PSNR

    Rekonstruksi citra derau via minimisasi l1-l0

  • • Untuk tiap-tiap piksel, lakukan komputasi fungsi berikut:

    Rekonstruksi Citra

    Tugas Akhir – KI091391 22 02/02/2012

  • Rekonstruksi citra derau via minimisasi l1-l0

    Tugas Akhir – KI091391 23

    GAMBARAN UMUM APLIKASI

    Learning Dictionary Menggunakan MK-SVD

    Citra derau Gaussian + salt and pepper Citra hasil

    denoising

    Denoising + Pembentukan matriks karakteristik dengan AMF

    02/02/2012

    Hitung PSNR

  • • Cari nilai MSE

    • Hitung PSNR dengan fungsi

    Perhitungan PSNR

    02/02/2012 Tugas Akhir – KI091391 24

  • 02/02/2012 Tugas Akhir – KI091391 25

    Tampilan Antar Muka

    Figure 1 Citra Inputan

    Figure 2 Hasil Proses AMF

    Figure 3 Citra keluaran

  • • Membandingkan hasil denoising (dari PSNR) antara citra uji dengan pamater input derau yang berbeda-beda

    • Citra yang digunakan adalah Barbara.png, Boat.png, dan Lena.png

    • Ketentuan : 1. Mengubah nilai standar devisiasi dari derau Gaussian

    yang dilakukan terhadap citra yang memiliki level salt and pepper sama dengan 0.03

    2. Mengubah nilai standar deviasi dari derau Gaussian yang dilakukan terhadap citra yang memiliki level salt and pepper sama dengan 0.07

    SKENARIO UJI COBA

    Tugas Akhir – KI091391 26 02/02/2012

  • UJI COBA 1

    Tugas Akhir – KI091391 27

    Perbandingan hasil denoising dengan standar deviasi sama dengan 5 dan level salt and pepper sama dengan 0.03

    02/02/2012

    Citra Derau AMF Proses Perbaikan PSNR = 20.1633

    PSNR = 24,963

    PSNR = 22,9275

    PSNR = 20,4693

    PSNR = 25,3433

    PSNR = 24,4875

    PSNR = 20,4792

    PSNR = 25,7692

    PSNR = 25,529

  • Citra derau AMF Proses Perbaikan PSNR = 17,30

    PSNR = 20,235

    PSNR = 24,0415

    PSNR = 17,3931

    PSNR = 20,3314

    PSNR = 26,785

    PSNR = 17,424

    PSNR = 20,5001

    PSNR = 29,2025

    UJI COBA 2

    Tugas Akhir – KI091391 28

    Perbandingan hasil denoising dengan standar deviasi sama dengan 25 dan level salt and pepper sama dengan 0.03

    02/02/2012

  • Citra derau AMF Proses Perbaikan PSNR = 13,2246

    PSNR = 15,6263

    PSNR = 21,966

    PSNR = 13,2704

    PSNR = 15,5029

    PSNR = 23,3478

    PSNR = 13,2952

    PSNR = 15,68

    PSNR = 25,1228

    UJI COBA 3

    Tugas Akhir – KI091391 29

    Perbandingan hasil denoising dengan standar deviasi sama dengan 50 dan level salt and pepper sama dengan 0.03

    02/02/2012

  • Citra Derau AMF Proses perbaikan PSNR = 16,75

    PSNR = 21,51

    PSNR = 22,8879

    PSNR = 16, 9571

    PSNR = 21,5381

    PSNR = 24,5359

    PSNR = 16,936

    PSNR = 21,80

    PSNR = 25,6357

    UJI COBA 4

    Tugas Akhir – KI091391 30

    Perbandingan hasil denoising dengan standar deviasi sama dengan 5 dan level salt and pepper sama dengan 0.07

    02/02/2012

  • Citra Derau AMF Proses perbaikan PSNR = 15,1513

    PSNR = 18,90

    PSNR = 23,9245

    PSNR = 15,3013

    PSNR = 18,9671

    PSNR = 26,5813

    PSNR = 15,304

    PSNR = 19,0172

    PSNR = 29,0613

    UJI COBA 5

    Tugas Akhir – KI091391 31

    Perbandingan hasil denoising dengan standar deviasi sama dengan 25 dan level salt and pepper sama dengan 0.07

    02/02/2012

  • Citra Derau AMF Proses Perbaikan PSNR = 12,2723

    PSNR = 15,1607

    PSNR = 22,044

    PSNR = 12,3371

    PSNR = 15,0489

    PSNR = 23,3274

    PSNR = 12,3367

    PSNR = 15,1969

    PSNR = 25,080

    UJI COBA 6

    Tugas Akhir – KI091391 32

    Perbandingan hasil denoising dengan standar deviasi sama dengan 50 dan level salt and pepper sama dengan 0.07

    02/02/2012

  • • Dari tabel gambar dapat dilihat bahwa semakin tinggi nilai standar deviasi, maka citra hasil keluaran minimisasi l1-l0 menjadi blur

    02/02/2012 Tugas Akhir – KI091391 33

    Analisis Output

  • Analisis Output

    02/02/2012 Tugas Akhir – KI091391 34

    σ Proses Citra

    Barbara S = 0,03

    Barbara S = 0,07

    Boat S = 0,03

    Boat S = 0,07

    Lena S = 0,03

    Lena S = 0,07

    σ = 5

    Citra Derau 20,163 16,75 20,469 16,957 20,479 16,936

    AMF 24,963 21,51 25,343 21,538 25,769 21,8 l1-l0 22,927 22,887 24,487 24,535 25,529 25,635

    σ = 25

    Citra Derau 17,3 15,1513 17,393 15,303 17,424 15,304

    AMF 20,235 18,9 20,331 18,967 20,500 19,017 l1-l0 24,415 23,924 26,785 26,581 29,202 29,061

    σ = 50

    Citra Derau 13,224 12,272 13,270 12,337 13,295 12,336

    AMF 15,626 15,161 15,503 15,049 15,68 15,197 l1-l0 21,966 22,044 23,347 23,327 25,122 25,080

    Tabel Perbandingan PSNR pada Masing-masing Uji Coba

  • Analisis Output

    02/02/2012 Tugas Akhir – KI091391 35

    5 25 500

    5

    10

    15

    20

    25

    Sigma

    PS

    NR

    barbara;s=0.03barbara;s=0.07boat;s=0.03boat;s=0.07lena;s=0.03lena;s=0.07

    5 25 500

    5

    10

    15

    20

    25

    30

    Sigma

    PS

    NR

    Barbara;s=0.03Barbara;s=0.07Boat;s=0.03Boat;s=0.07Lena;s=0.03Lena;s=0.07

    Grafik PSNR Tiap Citra Input

    Grafik PSNR Citra Hasil AMF

  • • Pada citra input, semakin tinggi nilai standar deviasi dan level salt and pepper yang diberikan, maka semakin rendah nilai PSNR

    • Setelah proses (AMF), PSNR untuk masing-masing citra mengalami peningkatan. Ini artinya, sebagian derau dari citra masukan terebut berhasil direduksi.

    Analisis Output

    02/02/2012 Tugas Akhir – KI091391 36

  • 02/02/2012 Tugas Akhir – KI091391 37

    Analisis Output

    5 25 500

    5

    10

    15

    20

    25

    30

    Sigma

    PS

    NR

    Barbara;s=0.03Barbara;s=0.07Boat;s=0.03Boat;s=0.07Lena;s=0.03Lena;s=0.07

    Grafik PSNR Citra Proses AMF

    Grafik PSNR Citra Hasil l0-l1

    5 25 500

    5

    10

    15

    20

    25

    30

    Sigma

    PS

    NR

    Barbara;s=0.03Barbara;s=0.07Boat;s=0.03Boat;s=0.07Lena;s=0.03Lena;s=0.07

  • 02/02/2012 Tugas Akhir – KI091391 38

    Analisis Output

    5 25 500

    5

    10

    15

    20

    25

    30

    Sigma

    PS

    NR

    Barbara;s=0.03Barbara;s=0.07Boat;s=0.03Boat;s=0.07Lena;s=0.03Lena;s=0.07

    Grafik PSNR Citra Proses AMF

    Grafik PSNR Citra Hasil l0-l1

    5 25 500

    5

    10

    15

    20

    25

    30

    Sigma

    PS

    NR

    Barbara;s=0.03Barbara;s=0.07Boat;s=0.03Boat;s=0.07Lena;s=0.03Lena;s=0.07

    5 25 500

    5

    10

    15

    20

    25

    Sigma

    PS

    NR

    barbara;s=0.03barbara;s=0.07boat;s=0.03boat;s=0.07lena;s=0.03lena;s=0.07

  • • Pada setiap citra dari proses AMF ke minimisasi l0-l1 mengalami peningkatan PSNR, kecuali pada standar deviasi sama dengan 5 dan level salt and pepper sama dengan 0.03

    • Ketika standar deviasi sama dengan 5 dan level salt and pepper sama dengan 0,03 hasil uji coba menunjukkan ada penurunan PSNR dari proses AMF ke proses minimisasi. Namun secara fisik, derau pada citra output hilang. Hanya saja tingkat kecerahan citra menjadi lebih rendah. Sedangkan pada uji coba lainnya mengalami peningkatan nilai PSNR.

    Analisis Output

    02/02/2012 Tugas Akhir – KI091391 39

  • • Dari grafik untuk metode minimisasi l1-l0, nilai PSNR tertinggi adalah pada saat standar deviasi sama dengan 25 dan level salt and pepper sama dengan 0,03. Sedangkan nilai PSNR terendah untuk adalah ketika standar deviasi sama dengan 50 dan level salt and pepper sama dengan 0,07

    02/02/2012 Tugas Akhir – KI091391 40

    Analisis Output

  • • Derau Gaussian campuran, dalam hal ini derau Gaussian dan salt and pepper, dapat membuat degradasi pada citra sehingga menyebabkan penurunan kualitas citra.

    • Proses restorasi terhadap citra yang terkena derau Gaussian campuran dapat dilakukan dengan menggunakan metode denoising tiga fase via minimisasi l1-l0.

    • Dari hasil uji coba dapat diketahui bahwa metode yang diajukan dapat melakukan proses restorasi dengan baik kecuali pada saat standar deviasi sama dengan 5 dan level salt and pepper sama dengan 0,03.

    KESIMPULAN (1)

    Tugas Akhir – KI091391 41 02/02/2012

  • • Tingkat keberhasilan (diukur dengan menggunakan PSNR) pada metode ini bergantung standar deviasi dan level salt and pepper yang dimiliki oleh citra masukkan.

    • Inisialisasi standar deviasi mempengaruhi hasil yang didapat pada sistem, dimana standar deviasi yang terlalu tinggi menyebabkan fitur asli citra rusak sehingga membuat citra keluaran menjadi blur.

    • Inisialisasi level salt and pepper mempengaruhi hasil PSNR yang didapat pada sistem, dimana jika level salt and pepper tinggi maka PSNR citra akan rendah dan tentunya hasil PSNR setelah proses denoising akan rendah pula.

    KESIMPULAN (2)

    Tugas Akhir – KI091391 42 02/02/2012

  • • Perlu dilakukan uji coba yang mendalam untuk mengetahui efektivitas hasil perbaikan dengan metode denoising tiga fase via minimisasi l1-l0, terutama untuk mengetahui inisialisasi parameter-parameter yang dibutuhkan untuk memperbaiki citra dengan derau campuran Gaussian-salt and pepper.

    • Perlu dikembangkan sebuah metode baru yang dapat secara otomatis memberikan inisialisasi parameter-parameter derau awal dengan baik sehingga dapat menghasilkan kualitas citra yang baik pada setiap kondisi citra derau yang diberikan.

    • Perlu dikembangkan sebuah metode baru yang dapat menghilangkan derau tanpa melihat parameter derau.

    SARAN

    Tugas Akhir – KI091391 43 02/02/2012

  • SELESAI

    Tugas Akhir – KI091391 44

    TERIMA KASIH

    02/02/2012

  • • kondisi l1 digunakan untuk penghilangan derau impuls dan kondisi l0 digunakan untuk representasi sparse Dictionary dari patch citra

    02/02/2012 Tugas Akhir – KI091391 45

    Minimisasi l1-l0

  • • Sparse Coding

    • Update Dictionary set E = kemudian, d = kolom pertama u dan koefisien α = V x ∆ (1,1) • Rekonstruksi citra menggunakan Final Averaging

    02/02/2012 Tugas Akhir – KI091391 46

    K-SVD

  • • Efektif untuk training dictionary overcomplete untuk representasi sinyal sparse

    • Efektif digunakan saat jumlah training sinyal sangat besar

    • Dengan K-SVD citra dapat didekomposisi menjadi ribuan patc citra

    02/02/2012 Tugas Akhir – KI091391 47

    K-SVD

  • • AMF adalah salah satu pengembangan dari Median Filter dimana pada AMF, ukuran window dapat berubah sampai ukuran maksimal.

    • AMF digunakan untuk menangani citra yang terkena derau salt and pepper.

    • Pada sistem ini juga digunakan untuk membentuk matriks karakteristik, yang memiliki informasi lokasi piksel yang terkena derau salt and pepper.

    Adaptive Median Filter (AMF)

    02/02/2012 Tugas Akhir – KI091391 48

  • Gambaran Algoritma AMF

    Untuk setiap piksel pada lokasi i,j , lakukan 1. Inisialisasi ukuran pertama dari window, w=3,

    karakteristik matriks X 2. Hitung nilai Smin, Smed, dan Smax yang merupakan

    nilai minimum, median, dan maksimum dari piksel-piksel yang ada dalam window.

    3. if Smin

  • • Pengkodean sejumlah sinyal yang besar dengan Dictionary yang sama

    • Greedy OMP memilih atom pada tiap iterasinya dengan korelasi tertinggi terhadap current residual

    • Ketika sebuah atom dipilih, sinyal orthogonal direpresentasikan pada rentang atom yang dipilih kemudian residual diperbaruhi kembali untuk iterasi selanjutnya.

    • Untuk mengidentifikasi sinyal yang ideal perlu untuk memilih kolom dictionary dan ini membutuhkan greedy.

    • OMP dapat memulihkan sinyal sparse yang diberikan di dalam sebuah set random linear.

    • OMP, tidak ada komponen zero yang dipilih (diperlukan aturan stop)

    Sparse Coding

    02/02/2012 Tugas Akhir – KI091391 51

  • Pertama tetapkan nilai koefisien , dan untuk setiap setiap atom dl , l = 1,2,3,,,K

    a. Pilih patch wl yang menggunakan atom ini, wl = b. Untuk setiap wl hitung nilai residual (error) dengan

    menggunakan fungsi di bawah ini

    c. Set

    d. Update dl dengan menggunakan

    Update Dictionary

    02/02/2012 Tugas Akhir – KI091391 52

  • • Rekontruksi citra berdasarkan hasil matriks karakteristik, seperti pada fungsi dibawah ini

    • β adalah koeficient weight dari l1 yang terkena salt and pepper. Nilai bergantung langsung pada akurasi deteksi dengan menggunakan median filter.

    Rekonstruksi Citra via l1-l0 minimisasi

    02/02/2012 Tugas Akhir – KI091391 53

  • 02/02/2012 Tugas Akhir – KI091391 54

    implementasi

    1 Inp=imread('house.png'); 2 if(length(size(Inp))>2) 3 Inp = rgb2gray(Inp); 4 End 5 Inp=im2double(Inp); 6 if (max(Inp(:))

  • 1 W=3; 2 for w=W:2:WMax 3 w_pad = floor(w/2); 4 window=zeros(w*w); 5 a=1;

    6 for i = x - w_pad:x + w_pad

    7 for j = y - w_pad : y + w_pad

    8 if i>0 && j>0

    9 window(a)=M_pad(i,j);

    10 a=a+1; 11 end 12 end 13 end 14 urut=sort(window); 15 SMed = urut(ceil((w*w)/2));

    implementasi

    02/02/2012 Tugas Akhir – KI091391 55

    16 Amed=SMed; 17 SMax=max(max(window)); 18 SMin=min(min(window)); 19 CM=0; 20 if SMin

  • 02 Februari 2012 56

    IMPLEMENTASI

    Pembentukan Riju, RijX

    1 if(prod([NN1,NN2]-bb+1)> maxNumBlocksToTrainOn)

    3 randPermutation = randperm(prod([NN1,NN2]-bb+1));

    4

    selectedBlocks = randPermutation(1:maxNumBlocksToTrainOn);

    5 blkMatrix = zeros(bb^2,maxNumBlocksToTrainOn);

    6 blkCharMatrix = zeros(bb^2,maxNumBlocksToTrainOn);

    7 for i = 1:maxNumBlocksToTrainOn

    8

    [row,col] = ind2sub(size(Image)-bb+1,selectedBlocks(i));

    9 currBlock = Image(row:row+bb-1,col:col+bb-1);

    10 currBlock_CharM = Char_M(row:row+bb-1,col:col+bb-1);

    11 blkMatrix(:,i) = currBlock(:);

    12 blkCharMatrix(:,i) = currBlock_CharM(:);

    13 end 14 Else

    15 blkMatrix = im2col(Image,[bb,bb],'sliding');

    16 blkCharMatrix = im2col(Char_M,[bb,bb],'sliding');

    17 End 02/02/2012 56 Tugas Akhir – KI091391

  • 02 Februari 2012 57

    IMPLEMENTASI

    Pembentukan Dictionary 1 Pn=ceil(sqrt(K));

    2 DCT=zeros(bb,Pn);

    3 for k=0:1:Pn-1,

    4 V=cos([0:1:bb-1]'*k*pi/Pn);

    5 if k>0, V=V-mean(V); end;

    6 DCT(:,k+1)=V/norm(V);

    7 end;

    8 DCT=kron(DCT,DCT);%[8x8,16x16]=[64 256]

    9

    10 param.initialDictionary = DCT(:,1:param.K );

    02/02/2012 57 Tugas Akhir – KI091391

  • 02 Februari 2012 58

    IMPLEMENTASI

    Sparse Coding

    1 function [A]=OMPerr(D,X, CM,errorGoal)

    2 3 [n,P]=size(X); 4 [n,K]=size(D); 5 E2 = errorGoal^2*n; 6 maxNumCoef = n/2;

    7 A = sparse(size(D,2),size(X,2));

    8 X=X.*CM; 9 for k=1:1:P, 10 a=[]; 11 x=X(:,k); 12 cnoise=CM(:,k); 13 residual=x; 14 indx = []; 15 a = [];

    16 currResNorm2 = sum(residual.^2);

    17 j = 0;

    18 while currResNorm2>E2 & j < maxNumCoef,

    19 j = j+1; 20 proj=D'*residual;

    21

    pos=find(abs(proj)==max(abs(proj)));

    22 pos=pos(1); 23 indx(j)=pos;

    24 a=pinv(D(:,indx(1:j)))*x;

    25

    residual=x-(D(:,indx(1:j)).*(cnoise*ones(1,j)))*a;

    26 currResNorm2 = sum(residual.^2);

    27 end; 28 if (length(indx)>0) 29 A(indx,k)=a; 30 End 31 end; 32 return;

    58 Tugas Akhir – KI091391

  • 02/02/2012 Tugas Akhir – KI091391 59

    IMPLEMENTASI

    Sparse Coding

    1 function [A]=OMPerr(D,X, CM,errorGoal)

    2 3 [n,P]=size(X); 4 [n,K]=size(D); 5 E2 = errorGoal^2*n; 6 maxNumCoef = n/2;

    7 A = sparse(size(D,2),size(X,2));

    8 X=X.*CM; 9 for k=1:1:P, 10 a=[]; 11 x=X(:,k); 12 cnoise=CM(:,k); 13 residual=x; 14 indx = []; 15 a = [];

    16 currResNorm2 = sum(residual.^2);

    17 j = 0;

    18 while currResNorm2>E2 & j < maxNumCoef,

    19 j = j+1; 20 proj=D'*residual;

    21

    pos=find(abs(proj)==max(abs(proj)));

    22 pos=pos(1); 23 indx(j)=pos;

    24 a=pinv(D(:,indx(1:j)))*x;

    25

    residual=x-(D(:,indx(1:j)).*(cnoise*ones(1,j)))*a;

    26 currResNorm2 = sum(residual.^2);

    27 end; 28 if (length(indx)>0) 29 A(indx,k)=a; 30 End 31 end; 32 return;

    Penggunaaan Algoritma Greedy

  • 02/02/2012 Tugas Akhir – KI091391 60

    IMPLEMENTASI

    Sparse Coding

    1 function [A]=OMPerr(D,X, CM,errorGoal)

    2 3 [n,P]=size(X); 4 [n,K]=size(D); 5 E2 = errorGoal^2*n; 6 maxNumCoef = n/2;

    7 A = sparse(size(D,2),size(X,2));

    8 X=X.*CM; 9 for k=1:1:P, 10 a=[]; 11 x=X(:,k); 12 cnoise=CM(:,k); 13 residual=x; 14 indx = []; 15 a = [];

    16 currResNorm2 = sum(residual.^2);

    17 j = 0;

    18 while currResNorm2>E2 & j < maxNumCoef,

    19 j = j+1; 20 proj=D'*residual;

    21

    pos=find(abs(proj)==max(abs(proj)));

    22 pos=pos(1); 23 indx(j)=pos;

    24 a=pinv(D(:,indx(1:j)))*x;

    25

    residual=x-(D(:,indx(1:j)).*(cnoise*ones(1,j)))*a;

    26 currResNorm2 = sum(residual.^2);

    27 end; 28 if (length(indx)>0) 29 A(indx,k)=a; 30 End 31 end; 32 return;

    Hasil Orthogonalisasi selected atom

  • 02 Februari 2012 61

    IMPLEMENTASI

    Update Dictionary

    1

    function [betterDictionaryElement,CoefMatrix, NewVectorAdded] = I_findBetterDictionaryElement(Data,Dictionary,j,CoefMatrix, CharMatrix,numCoefUsed)

    2 if (length(who('numCoefUsed'))==0) 3 numCoefUsed = 1; 4 end

    5 relevantDataIndices = find(CoefMatrix(j,:)); 6 if (length(relevantDataIndices)

  • • Sparse Coding Diberikan D, Riju dan RijX, maka tentukan koefisien

    matriks sparsity α dengan Menggunakan OMP (Orthogonal Matching Pursuit).

    • Update Dictionary Diberikan D dan α, maka update kolom Dictionary per

    atomnya.

    Learning Dictionary Menggunakan MK-SVD

    02/02/2012 Tugas Akhir – KI091391 50

    K-SVD

  • 02 Februari 2012 62

    IMPLEMENTASI

    Update Dictionary (2) 1

    function [atom,coef_j]=Imin(E,CM,atom,coef_j)

    2 3 [m,n]=size(E); 4 oldatom=zeros(size(atom)); 5 finalcoef_j=coef_j; 6 finalatom=atom; 7 iter=0; 8 error=1; 9 while error>0.0001&iter

  • 02 Februari 2012 63

    IMPLEMENTASI

    Rekonstruksi Citra

    1 w_b=0; 2 for b_i =1:NN1 3 for b_j=1:NN2 4 if Char_M(b_i,b_j) == 0

    5 w_b = w_b+Weight(b_i,b_j);

    6 end 7 end 8 end

    Implementasi beta 1 for itr_i=1:NN1 2 for itr_j=1:NN2 3 if Char_M(itr_i,itr_j)==1

    4

    M(itr_i,itr_j)=(Image(itr_i,itr_j)+0.034*sigma*IMout(itr_i,itr_j))/(0.034*sigma*Weight(itr_i,itr_j));%23,3943/0,02 24,2 tinggi

    5 else

    6

    a=(IMout(itr_i,itr_j)/Weight(itr_i,itr_j))-Image(itr_i,itr_j);

    7 b=w_b/(2*(Weight(itr_i,itr_j)));

    8 M(itr_i,itr_j)= Image(itr_i,itr_j)+shrink(a,b);

    9 end 10 end 11 end 12 IOut = M;

    Algoritma minimisasi

    63

    Implementasi Untuk Xij =1

    Tugas Akhir – KI091391

  • 02/02/2012 Tugas Akhir – KI091391 64

    IMPLEMENTASI

    Rekonstruksi Citra

    1 w_b=0; 2 for b_i =1:NN1 3 for b_j=1:NN2 4 if Char_M(b_i,b_j) == 0

    5 w_b = w_b+Weight(b_i,b_j);

    6 end 7 end 8 end

    Implementasi beta 1 for itr_i=1:NN1 2 for itr_j=1:NN2 3 if Char_M(itr_i,itr_j)==1

    4

    M(itr_i,itr_j)=(Image(itr_i,itr_j)+0.034*sigma*IMout(itr_i,itr_j))/(0.034*sigma*Weight(itr_i,itr_j));%23,3943/0,02 24,2 tinggi

    5 else

    6

    a=(IMout(itr_i,itr_j)/Weight(itr_i,itr_j))-Image(itr_i,itr_j);

    7 b=w_b/(2*(Weight(itr_i,itr_j)));

    8 M(itr_i,itr_j)= Image(itr_i,itr_j)+shrink(a,b);

    9 end 10 end 11 end 12 IOut = M;

    Algoritma minimisasi

    Implementasi Untuk Xij = 0

  • 02/02/2012 Tugas Akhir – KI091391 65

    IMPLEMENTASI

    Hitung Nilai PSNR

    PSNRIn = 20*log10(255/sqrt(mean((IG(:)-Input(:)).^2)));

    PSNROut_SP = 20*log10(255/sqrt(mean((u(:)-Input(:)).^2)));

    PSNROut = 20*log10(255/sqrt(mean((IoutAdaptive(:)-Input(:)).^2)));

    Citra Derau

    Citra hasil AMF

    Hasil Akhir