Pemilihan transformasi penjarang yang tepat sangat berpengaruh pada hasil rekonstruksi pencitraan kompresif. Tulisan ini menjelaskan pemakaian teknik minimisasi variansi total (TV-total variance), salah satu estimasi kokoh (robust) yang sebenarnya sudah sering dipakai namun baru disadari hubungannya dengan pencuplikan kompresif. Karena parameter dari TV minimum saja tidak bisa dipakai untuk melakukan inversi, maka harus ada basis lain yang terhubung dengan seleksi TV minimum. Diagram ranah-jamak dapat dipakai untuk menjelaskan keterkaitan antar transformasi dan parameter yang digunakan dalam pencitraan kompresif kawasan frekuensi.
Pencuplikan Kompresif Kawasan Frekuensi
Operasi pengamatan pada kawasan spasial yang diberikan pada persamaan (1) didalam tulisan sebelumnya dapat ditafsirkan sebagai pencuplikan terhadap vektor basis penjarang jika dituliskan sebagai
(1)
Setiap baris pada
hanya berisi satu buah angka bernilai satu, sedangkan sisanya nol. Perkalian dengan
mengakibatkan seleksi vektor baris pada indeks yang bersangkutan dengan letak kolom elemen aktif
tersebut. Sebagai akibatnya, vektor basis dalam
akan berkurang dan letaknya diacak.
Kinerja rendah yang dihasilkan akibat penggunaan DCT sebagai transformasi penjarang dapat ditingkatkan dengan transformasi bentuk lain. Salah satu yang telah sering dipakai tetapi baru disadari kaitannya dengan pencuplikan kompresif adalah variansi total (TV-total variance). Pendekatan dengan cara ini cukup berbeda jika dibandingkan dengan metoda sebelumnya yang merupakan tafsiran langsung pencuplikan spasial. Kaitan berbagai transformasi dan proses recovery sinyal dilukiskan dalam diagram ranah jamak berikut ini.

Gambar 1. Diagram ranah-jamak [1] pencuplikan kompresif kawasan frekuensi
Mengacu pada diagram ranah-jamak, sinyal s terlebih dahulu ditransformasikan ke kawasan frekuensi menjadi
. Pencuplikan kompresif kawasan ini dengan transformasi pengukur
akan menghasilkan cuplikan kompresif
. Karena basis penjarang ada dalam kawasan lain yang perhitungannya didasarkan pada sinyal kawasan spasio-temporal, maka hasil cuplikan kompresif terlebih dahulu dikembalikan ke kawasan semula menjadi sinyal
. Selanjutnya yang akan diminimumkan adalah nilai variansi total:
(2)
Basis pursuit untuk kasus ini dapat dirumuskan sebagai
(P1): min |S| s.t.
(3)
Optimisasi diatas mengatakan:
“pilih
yang inverse transform Fouriernya, yaitu
memiliki variansi total |S| terkecil dan bisa menjelaskan hasil pengamatan .
Pada diagram, pengaruh hasil pemilihan |S| terkecil pada koefisien Fourier digambarkan sebagai panah bergaris ganda pada bagian kiri diagram. Operasi pengambilan nilai variansi total digambarkan sebagai transformasi merugi karena pengetahuan nilai variansi total saja tidak dapat dipakai untuk merekonstruksi sinyal semula.
Eksperimen dan Analisis
Pada eksperimen dipakai citra yang sama seperti sebelumnya, tetapi mekanisme rekonstruksi-nya sangat berbeda; yang dapat disimpulkan dengan membandingkan diagram ranah jamak pada Gambar 1 dengan yang ada pada tulisan sebelumnya. Fungsi optimisasi yang digunakan ada dalam paket program l1-magic dari Caltech. Program utama sudah sedikit dimodifikasi supaya sesuai dengan keperluan, seperti diperlihatkan pada lampiran di akhir tulisan ini.

Gambar 2. Citra asli

Gambar 3. Citra teramati
Gambar 2 menunjukkan citra asli, sedangkan Gambar 3 adalah citra teramati dilihat dari kawasan spasial. Piksel berharna abu-abu menyatakan ketiadaan data pada posisi bersangkutan, sedangkan piksel hitam dan putih menyatakan hasil pengamatan terkompresi sebanyak 4 kali. Tidak seperti pada tulisan sebelumnya, sangat sulit menebak citra sebenarnya dari citra teramati ini karena tingkat kompresi yang lebih tinggi.

Gambar 4. Citra hasil rekonstruksi berdasarkan TV
Hasil rekonstruksi yang diperlihatkan pada Gambar 4 jauh lebih bagus dari yang sebelumnya—bahkan tepat sama dengan citra asalnya. Disini terlihat betapa pentingnya pemilihan basis penjarang yang tepat didalam pencuplikan kompresif. Nilai TV menggambarkan smoothness karena berhubungan dengan variansi atau keragaman citra. Meminimumkan nilai ini berarti memilih citra dengan variansi rendah, atau smoothness yang tinggi. Ini sangat cocok untuk citra-citra tomografi dalam biomedika, karena organ tubuh manusia sudah semestinya smooth.
Daftar Pustaka
1. AB. Suksmono, ”A graphical representation of multi-domain signal processing,” Proc. of SICE-ICASE 2006, Busan, Korea.
2. EJ. Candes, J. Romberg, and T. Tao, ”Robust uncertainty principles: Exact signal recovery from highly incomplete frequency information,” IEEE Trans. Information Theory, Vol.52, no.2, Feb.2006, pp.489-509.
3. MF. Duarte, MA. Davenport, D. Takhar, JN. Laska, T. Sun, KF. Kelly, and RG. Baraniuk, “Single-pixel imaging via compressive sampling,” IEEE Signal Proc. Magazine (83), March 2008, pp.83-90.
4. AB. Suksmono, “A brief review on compressive imaging,” Doc. RGQ14-2/2/ -E/Jul 2008, ITU-D, Rapp. Group Meeting on Q.14-2/2, Tokyo, 3-4 July 2008.
Kode Matlab
% *******************************************
% kamera piksel tunggal: cs_camera.m
% ditulis kembali berdasarkan kode L1-magic
% fungsi-fungsi lain dapat di-download dari Caltech
% *******************************************
% use implicit, matrix-free algorithms ?
largescale = 1;
path(path, ‘./Optimization’); path(path, ‘./Measurements’); path(path, ‘./Data’);
% read original image
I=double(imread(‘IMG\H.bmp’,'bmp’));
%tampilkan citra asal;
figure(1); imagesc(I); colormap(gray); title(‘citra asli’);
[n_row,n_col] = size(I); n = n_row; % panjang baris/kolom
N = n_row*n_col; % total cuplikan asal/ jumlah piksel
I = I/norm(I(:)); %normalisasi energi citra
I = I – mean(I(:)); %mean dibuat nol
x = reshape(I,N,1); %ubah menjadi larik 1-D /vektor
% jumlah observasi yang diinginkan
f_comp=4;%faktor kompresi
K = N/f_comp;%jumlah pengamatan
% Simulasi DMD kawasan frekuensi
P = randperm(N)’;
q = randperm(N/2-1)+1;
OMEGA = q(1:K/2)’;
% measurement matrix
if (largescale)
A = @(z) A_f(z, OMEGA, P);
At = @(z) At_f(z, N, OMEGA, P);
% obsevations
b = A(x);
% initial point
x0 = At(b);
else
FT = 1/sqrt(N)*fft(eye(N));
A = sqrt(2)*[real(FT(OMEGA,:)); imag(FT(OMEGA,:))];
A = [1/sqrt(N)*ones(1,N); A];
At = [];
% observations
b = A*x;
% initial point
x0 = A’*b;
end
I0=reshape(x0, n, n);
figure(2);imagesc(I0);colormap(gray);title(‘citra teramati’);
tvI = sum(sum(sqrt([diff(I,1,2) zeros(n,1)].^2 + [diff(I,1,1); zeros(1,n)].^2 )));
disp(sprintf(‘Original TV = %.3f’, tvI)); %TV asal
time0 = clock;
xp = tveq_logbarrier(x0, A, At, b, 1e-3, 5, 1e-8, 200);
Ip = reshape(xp, n, n);
disp(sprintf(‘Total elapsed time = %f secs\n’, etime(clock,time0)));
figure(3);imagesc(Ip);colormap(gray);title(‘citra rekonstruksi’);