Anda di halaman 1dari 12

Final Project

Pengolahan Citra Digital


Dosen: Drs. Agus Hardjoko, M.Sc., Ph.D.

Evaluasi Kinerja Momen Invarian


Untuk Pengenalan Obyek

Mahasiswa:

Moh. Sofyan S. Thayf


25340/I-4/2107/06

Magister Ilmu Komputer FMIPA


Universitas Gadjah mada
Juni 2008
Evaluasi Kinerja Momen Invarian
Untuk Pengenalan Obyek

Pendahuluan

Proses pengenalan sebuah obyek di dalam sebuah citra setelah proses segmentasi , sering terbentur
pada permasalahan posisi obyek, rotasi sumbu obyek, dan perubahan skala dar i obyek. Posisi obyek
yang bergeser, berputar, dan ukurannya yang lebih kecil atau lebih besar dari pada informasi yang
sudah dimiliki sebagai knowledge, dapat menyebabkan kesalahan dalam pengenalan/identifikasi obyek
tersebut.
Momen dapat menggambarkan su atu objek dalam hal area, posisi, orientasi dan parameter terdefinisi
lainnya. Dengan mendapatkan sejumlah informasi momen, baik momen tingkat ke -nol (m00) dan ke-
satu (m10 dan m01) atau momen sentral, dan momen pada tingkat ≥ 2 atau momen invarian dari
sebuah obyek, maka obyek tersebut dapat diidentifikasi sekalipun telah mengalami pergeseran
(translasi), perputaran (rotasi), maupun perubahan skala.
Dalam tulisan ini, dicoba untuk melakukan pengujian terhadap kinerja momen in varian dalam
mengidentifikasi sejumlah obyek yang mengalami rotasi dan pencerminan (mirroring)

Tinjauan Pustaka

Momen Sentral
Momen sentral adalah momen yang bersesuaian dengan titik pusat sebuah obyek. Dalam Gonzales
(1992:673) dikatakan bahwa momen sentral untuk citra digital dapat dihitung dengan persamaan
 pq    x  x   y  y  f  x, y 
p q

x y

f(x,y) adalah intensitas warna dari pixel (x,y). Pada citra biner atau hitam-putih (BW), misalnya dari
hasil segmentasi dengan thresholding, f(x,y) bernilai 0 atau 1.

Momen Invarian
Dari momen tingkat kedua dan ketiga (p+q ≥ 2) yang dinormalisasi dengan
 pq pq
 pq   , dimana   1
 00 2

2
dapat diturunkan tujuh rumus untuk menghitung momen yang invarian terhadap translasi, rotasi, dan
perubahan skala (Gonzales, 1992, 674-675) sebagai berikut:
1   20   02

 2   20   02   4112
2

3   30  312   3 21   03 
2 2

 4   30  12    21   03 
2 2


 5   30  312  30  12  3 30  12   3 21   03  
2 2

3 21   03  21   03  3 30  12    21   03 
2 2

 
 6   20   02  30  12    21   03   411  30  12  21   03 
2 2


 7  3 21   03  30  12   30  12   3 21   03  
2 2

312   30  21   03  3 30  12    21   03
2
2

3
Hasil Percobaan

Bentuk Obyek
Bentuk-bentuk obyek sample direkayasa dengan menggunakan program aplikasi grafis Corel!DRAW,
dan menghasilkan 12 bentuk obyek sebagai citra berwarna (RGB), yang masing-masing disimpan
dalam file terpisah dengan format JPG.

1 2 3

4 5 6

7 8 9

10 11 12

Bentuk-bentuk obyek sebagai sample

Dalam proses evaluasi setiap file citra di baca dan di konversi menjadi citra grayscale, sebelum di
jadikan gambar biner (BW) untuk segmentasi dengan thresholding, dan dilakukan deteksi tepi.
Selanjutnya evaluasi kinerja dilakukan dengan menghitung dan membandingkan momen invarian dari
bentuk obyek dasar, dan bentuk obyek hasil rotasi 90 o, pencerminan (mirroring) horisontal dan
pencerminan vertikal.
Proses konversi ke grayscale, thresholding, deteksi tepi (edge detection), rotasi, dan pencerminan,
menggunakan fungsi-fungsi yang sudah tersedia pada program Matlab 7 .
Evaluasi dilakukan terhadap dua kondisi obyek, pertama obyek dengan berdasarkan informasi
tepiannya saja, dan yang kedua obyek dengan informasi seluru h area pixel dari obyek.

4
Hasil Evaluasi Dengan Tepian

Obyek ke Original Rotasi 90 o Cerminan Vertikal Cerminan Horisontal


1 7,666442 7,666442 7,597116 7,597116
2 -14,6202 -14,6202 -0,28214 -0,28214
3 25,12615 25,12615 25,22183 25,22183
4 26,44646 26,44646 26,44576 26,44576
5 74,63873 74,63873 76,97069 76,97069
6 21,31751 21,31751 23,1042 23,1042
7 4,544981 4,544981 4,427817 4,427817
8 24,458 24,458 26,17517 26,17517
9 7,807621 7,807621 7,813998 7,813998
10 4,456427 4,456427 4,37855 4,37855
11 3,492443 3,492443 3,492263 3,492263
12 4,206708 4,206708 4,206857 4,206857
Nilai-nilai adalah hasil penjumlahan dari ketujuh momen invarian utuk setiap obyek dalam setiap mode

Hasil Evaluasi Dengan Area Pixel

Obyek ke Original Rotasi 90o Cerminan Vertikal Cerminan Horisontal


1 0,16112 0,16112 0,16112 0,16112
2 0,365919 0,365919 0,365919 0,365919
3 0,289784 0,289784 0,289784 0,289784
4 0,190835 0,190835 0,190835 0,190835
5 0,206938 0,206938 0,206938 0,206938
6 0,708001 0,708001 0,707999 0,707999
7 0,297969 0,297969 0,297969 0,297969
8 0,163796 0,163796 0,163796 0,163796
9 0,878581 0,878581 0,878582 0,878582
10 0,227928 0,227928 0,227928 0,227928
11 0,628171 0,628171 0,628171 0,628171
12 0,290475 0,290475 0,290475 0,290475
Nilai-nilai adalah hasil penjumlahan dari ketujuh momen invarian utuk setiap obyek dalam setiap mode

5
Kesimpulan

Dari hasil percobaan, terlihat bahwa, meskipun relatif sangat kecil, ada perbedaan pada jumlah nilai
momen invarian dari perhitungan berdasarkan informasi tepi y ang dicerminkan, baik terhadap sumbu
vertikal maupun terhadap sumbu horisontal.
Perbedaan jumlah nilai disebabkan oleh adanya perbedaan tanda (+/-) pada hasil perhitungan momen
invarian menggunakan rumus momen invarian yang ke-tujuh (lihat lampiran 2, data hasil lengkap),
sehingga selisih jumlah nilai momen antara informasi tepi original dengan hasil pencerminan nya
adalah dua kali nilai momen invarian ke -tujuh
Karena keterbatasan pemahaman kami tentang formulasi momen invarian, sehingga penyebab
perbedaan tanda dari hasil perhitungan tersebut tidak dapat ditemukan/diketahui.

Referensi

Gonzales, R. C., Woods, R. E., 1992, “ Digital Image Processing”, Second Edition, Prentice Hall, New
Jersey

6
Lampiran 1
Listing Program
momensentral.m

function mij = momensentral(gbr,i,j)


%
% menghitung momen sentral Mij
%

[r,c] = find(gbr==1);
rbar = mean(r);
cbar = mean(c);
n = length(r);
momlist = zeros(n,1);
for m = 1 : n
momlist(m) = (r(m) - rbar)^i * (c(m) - cbar)^j;
end

mij = sum(momlist);

momeninvarian.m

function minv = momeninvarian(Gbr)


%
% menghitung ketujuh momen invarian
%
area = bwarea(Gbr);
perim = bwarea(bwperim(Gbr,4));
compactness = perim*perim/(4*pi*area);
u11 = momensentral(Gbr,1,1) / (area^2);
u12 = momensentral(Gbr,1,2) / (area^2 .5);
u21 = momensentral(Gbr,2,1) / (area^2.5);
u20 = momensentral(Gbr,2,0) / (area^2);
u02 = momensentral(Gbr,0,2) / (area^2);
u30 = momensentral(Gbr,3,0) / (area^2.5);
u03 = momensentral(Gbr,0,3) / (area^2.5);
h1 = u20 + u02;

h2 = (u20-u02)^2 + 4*u11^2;
h3 = (u30 - 3*u12)^2 + (u03 - 3*u21)^2;
h4 = (u30 + u12)^2 + (u03 + u21)^2;

h5 = (u30 - 3*u12) * (u30 + u12) * ( (u30 + u12)^2 - 3*(u03 + u21)^2 ) + (3*u21 - u03) * (u03
+ u21) * ( 3*(u30 + u12)^2 - (u03 + u21)^2 );

h6 = (u20 - u02) * ( (u30 + u12)^2 - (u03 + u21)^2 ) + 4*u11 * (u30 + u12) * (u03 + u21);
h7 = (3*u21 - u03) * (u30 + u12) * ( (u30 + u12)^2 - 3*(u03 + u21)^2 ) - (3*u12 - u30) * (u03
+ u21) * ( 3*(u30 + u12)^2 - (u03 + u21)^2 );
minv = [h1 h2 h3 h4 h5 h6 h7]; % matriks hasil

7
kenalbentuk.m

function kenalbentuk(dataPath)
%
% - membaca semua file sample bentuk dalam dataPath
% - melakukan segmentasi, edge detect ing, rotasi, dan mirroring
% - menghitung momen invarian
%
files=dir( fullfile(dataPath,'*.jpg') );
nFile = length(files);
i=1;
for f = 1:nFile
namafile = fullfile(dataPath,files(f).name)
id = f*100;
RGB = imread( namafile );
%figure, imshow(RGB);
gr = rgb2gray(RGB);
%%----------------------------
%% BY PIXEL
%%----------------------------
%jadikan biner (BW)
th = graythresh(gr);
BW = im2bw(gr, th);
%figure, imshow(BW);
%test moment
mop = momeninvarian( BW );
mp = sum(mop);
DM(i,:) = [id mop mp];
%%-------------------
%rotasi 90 derajat
pxrot = rot90(BW);
%figure, imshow(pxrot);
%test moment
mopr = momeninvarian( pxrot );
mpr = sum(mopr);
DM(i+1,:) = [id+1 mopr mpr];
%%-------------------
%mirror vertical
pxmirv = fliplr(BW);
%figure, imshow(pxmirv);
%test moment
mopmv = momeninvarian( pxmirv );
mpmv = sum(mopmv);
DM(i+2,:) = [id+2 mopmv mpmv];
%%-------------------
%mirror horizontal
pxmirh = flipud(BW);
%figure, imshow(pxmirh);
%test moment
mopmh = momeninvarian( pxmirh );
mpmh = sum(mopmh);
DM(i+3,:) = [id+3 mopmh mpmh];

%%----------------------------
%% BY EDGE
%%----------------------------
%edge detection
EDG = edge(BW,'sobel');
%figure, imshow(EDG);
%test moment
moe = momeninvarian( EDG );
me = sum(moe);
DM(i+4,:) = [id+10 moe me];

8
%%-------------------
%rotasi 90 derajat
edrot = rot90(EDG);
%figure, imshow(edrot);
%test moment
moer = momeninvarian( edrot );
mer = sum(moer);
DM(i+5,:) = [id+11 moer mer];
%%-------------------
%mirror vertical
edmirv = fliplr(EDG);
%figure, imshow(edmirv);

%test moment
moemv = momeninvarian( edmirv );
memv = sum(moemv);
DM(i+6,:) = [id+12 moemv memv] ;
%%-------------------
%mirror horizontal
edmirh = flipud(EDG);
%figure, imshow(edmirh);
%test moment
moemh = momeninvarian( edmirh );
memh = sum(moemh);
DM(i+7,:) = [id+13 moemh memh];
%pause;
i=i+8;
end
xlswrite('testmomen',DM); % simpan matrix hasil

9
Lampiran 2
Data Hasil Lengkap
No.
Obyek
mode* h1 h2 h3 h4 h5 h6 h7 h
1 00 0,16112 3,75E-07 1,24E-07 1,52E-09 -6,7E-18 6,06E-13 -2E-17 0,16112
1 01 0,16112 3,75E-07 1,24E-07 1,52E-09 -6,7E-18 6,06E-13 -2E-17 0,16112
1 02 0,16112 3,75E-07 1,24E-07 1,52E-09 -6,7E-18 6,06E-13 1,98E-17 0,16112
1 03 0,16112 3,75E-07 1,24E-07 1,52E-09 -6,7E-18 6,06E-13 1,98E-17 0,16112
1 10 6,74708 5,41E-05 0,004206 0,932653 -0,04702 -0,00519 0,034663 7,666442
1 11 6,74708 5,41E-05 0,004206 0,932653 -0,04702 -0,00519 0,034663 7,666442
1 12 6,74708 5,41E-05 0,004206 0,932653 -0,04702 -0,00519 -0,03466 7,597116
1 13 6,74708 5,41E-05 0,004206 0,932653 -0,04702 -0,00519 -0,03466 7,597116
2 00 0,315683 0,031567 0,017118 0,001899 -1,1E-05 -0,00034 3,84E-08 0,365919
2 01 0,315683 0,031567 0,017118 0,001899 -1,1E-05 -0,00034 3,84E-08 0,365919
2 02 0,315683 0,031567 0,017118 0,001899 -1,1E-05 -0,00034 -3,8E-08 0,365919
2 03 0,315683 0,031567 0,017118 0,001899 -1,1E-05 -0,00034 -3,8E-08 0,365919
2 10 5,906096 8,541237 88,4469 4,875837 -101,001 -14,2207 -7,16905 -14,6202
2 11 5,906096 8,541237 88,4469 4,875837 -101,001 -14,2207 -7,16905 -14,6202
2 12 5,906096 8,541237 88,4469 4,875837 -101,001 -14,2207 7,169053 -0,28214
2 13 5,906096 8,541237 88,4469 4,875837 -101,001 -14,2207 7,169053 -0,28214
3 00 0,257194 0,030934 0,001555 0,000124 -5,4E-08 -2,2E-05 -4,3E-10 0,289784
3 01 0,257194 0,030934 0,001555 0,000124 -5,4E-08 -2,2E-05 -4,3E-10 0,289784
3 02 0,257194 0,030934 0,001555 0,000124 -5,4E-08 -2,2E-05 4,26E-10 0,289784
3 03 0,257194 0,030934 0,001555 0,000124 -5,4E-08 -2,2E-05 4,26E-10 0,289784
3 10 5,555257 9,10448 12,21503 0,402137 -0,88998 -1,21293 -0,04784 25,12615
3 11 5,555257 9,10448 12,21503 0,402137 -0,88998 -1,21293 -0,04784 25,12615
3 12 5,555257 9,10448 12,21503 0,402137 -0,88998 -1,21293 0,04784 25,22183
3 13 5,555257 9,10448 12,21503 0,402137 -0,88998 -1,21293 0,04784 25,22183
4 00 0,187125 0,002829 0,000791 9,51E-05 -2,6E-08 -5,1E-06 -7,3E-10 0,190835
4 01 0,187125 0,002829 0,000791 9,51E-05 -2,6E-08 -5,1E-06 -7,3E-10 0,190835
4 02 0,187125 0,002829 0,000791 9,51E-05 -2,6E-08 -5,1E-06 7,35E-10 0,190835
4 03 0,187125 0,002829 0,000791 9,51E-05 -2,6E-08 -5,1E-06 7,35E-10 0,190835
4 10 6,456015 1,672352 18,41085 0,066512 -0,0736 -0,08601 0,000348 26,44646
4 11 6,456015 1,672352 18,41085 0,066512 -0,0736 -0,08601 0,000348 26,44646
4 12 6,456015 1,672352 18,41085 0,066512 -0,0736 -0,08601 -0,00035 26,44576
4 13 6,456015 1,672352 18,41085 0,066512 -0,0736 -0,08601 -0,00035 26,44576
5 00 0,199937 0,002597 0,004307 0,000102 -6,8E-08 -5,2E-06 -8,8E-10 0,206938
5 01 0,199937 0,002597 0,004307 0,000102 -6,8E-08 -5,2E-06 -8,8E-10 0,206938
5 02 0,199937 0,002597 0,004307 0,000102 -6,8E-08 -5,2E-06 8,85E-10 0,206938
5 03 0,199937 0,002597 0,004307 0,000102 -6,8E-08 -5,2E-06 8,85E-10 0,206938
5 10 5,674996 2,006802 72,74856 0,655575 -4,37465 -0,90657 -1,16598 74,63873
5 11 5,674996 2,006802 72,74856 0,655575 -4,37465 -0,90657 -1,16598 74,63873
5 12 5,674996 2,006802 72,74856 0,655575 -4,37465 -0,90657 1,165982 76,97069
5 13 5,674996 2,006802 72,74856 0,655575 -4,37465 -0,90657 1,165982 76,97069
6 00 0,502363 0,197896 0,007214 0,000926 -2,3E-06 -0,0004 8,01E-07 0,708001
6 01 0,502363 0,197896 0,007214 0,000926 -2,3E-06 -0,0004 8,01E-07 0,708001
6 02 0,502363 0,197896 0,007214 0,000926 -2,3E-06 -0,0004 -8E-07 0,707999

10
No.
Obyek
mode* h1 h2 h3 h4 h5 h6 h7 h
6 03 0,502363 0,197896 0,007214 0,000926 -2,3E-06 -0,0004 -8E-07 0,707999
6 10 4,954895 15,70857 7,677154 1,085054 -3,00155 -4,21325 -0,89335 21,31751
6 11 4,954895 15,70857 7,677154 1,085054 -3,00155 -4,21325 -0,89335 21,31751
6 12 4,954895 15,70857 7,677154 1,085054 -3,00155 -4,21325 0,893346 23,1042
6 13 4,954895 15,70857 7,677154 1,085054 -3,00155 -4,21325 0,893346 23,1042
7 00 0,295604 0,002224 7,3E-05 6,42E-05 -4,4E-09 3,02E-06 -2,6E-11 0,297969
7 01 0,295604 0,002224 7,3E-05 6,42E-05 -4,4E-09 3,02E-06 -2,6E-11 0,297969
7 02 0,295604 0,002224 7,3E-05 6,42E-05 -4,4E-09 3,02E-06 2,61E-11 0,297969
7 03 0,295604 0,002224 7,3E-05 6,42E-05 -4,4E-09 3,02E-06 2,61E-11 0,297969
7 10 3,360558 0,30266 0,478587 0,216923 0,038123 0,089548 0,058582 4,544981
7 11 3,360558 0,30266 0,478587 0,216923 0,038123 0,089548 0,058582 4,544981
7 12 3,360558 0,30266 0,478587 0,216923 0,038123 0,089548 -0,05858 4,427817
7 13 3,360558 0,30266 0,478587 0,216923 0,038123 0,089548 -0,05858 4,427817
8 00 0,163419 2,25E-06 0,000373 2,06E-06 -5,7E-11 -3,1E-09 -8,1E-13 0,163796
8 01 0,163419 2,25E-06 0,000373 2,06E-06 -5,7E-11 -3,1E-09 -8,1E-13 0,163796
8 02 0,163419 2,25E-06 0,000373 2,06E-06 -5,7E-11 -3,1E-09 8,05E-13 0,163796
8 03 0,163419 2,25E-06 0,000373 2,06E-06 -5,7E-11 -3,1E-09 8,05E-13 0,163796
8 10 6,389908 0,009049 15,41769 0,815356 2,760441 -0,07586 -0,85858 24,458
8 11 6,389908 0,009049 15,41769 0,815356 2,760441 -0,07586 -0,85858 24,458
8 12 6,389908 0,009049 15,41769 0,815356 2,760441 -0,07586 0,858585 26,17517
8 13 6,389908 0,009049 15,41769 0,815356 2,760441 -0,07586 0,858585 26,17517
9 00 0,669333 0,20348 0,00534 0,000438 -3E-07 -9,3E-06 -6E-07 0,878581
9 01 0,669333 0,20348 0,00534 0,000438 -3E-07 -9,3E-06 -6E-07 0,878581
9 02 0,669333 0,20348 0,00534 0,000438 -3E-07 -9,3E-06 5,98E-07 0,878582
9 03 0,669333 0,20348 0,00534 0,000438 -3E-07 -9,3E-06 5,98E-07 0,878582
9 10 3,160809 4,139301 0,485561 0,029634 -0,00157 -0,00292 -0,00319 7,807621
9 11 3,160809 4,139301 0,485561 0,029634 -0,00157 -0,00292 -0,00319 7,807621
9 12 3,160809 4,139301 0,485561 0,029634 -0,00157 -0,00292 0,003188 7,813998
9 13 3,160809 4,139301 0,485561 0,029634 -0,00157 -0,00292 0,003188 7,813998
10 00 0,225426 0,001375 0,000652 0,000458 2,49E-07 1,7E-05 -2,3E-08 0,227928
10 01 0,225426 0,001375 0,000652 0,000458 2,49E-07 1,7E-05 -2,3E-08 0,227928
10 02 0,225426 0,001375 0,000652 0,000458 2,49E-07 1,7E-05 2,27E-08 0,227928
10 03 0,225426 0,001375 0,000652 0,000458 2,49E-07 1,7E-05 2,27E-08 0,227928
10 10 3,658185 0,066225 0,262339 0,473414 -0,16223 0,119555 0,038939 4,456427
10 11 3,658185 0,066225 0,262339 0,473414 -0,16223 0,119555 0,038939 4,456427
10 12 3,658185 0,066225 0,262339 0,473414 -0,16223 0,119555 -0,03894 4,37855
10 13 3,658185 0,066225 0,262339 0,473414 -0,16223 0,119555 -0,03894 4,37855
11 00 0,58477 0,043265 0,000109 2,89E-05 -7,5E-10 -1,9E-06 -1,4E-09 0,628171
11 01 0,58477 0,043265 0,000109 2,89E-05 -7,5E-10 -1,9E-06 -1,4E-09 0,628171
11 02 0,58477 0,043265 0,000109 2,89E-05 -7,5E-10 -1,9E-06 1,45E-09 0,628171
11 03 0,58477 0,043265 0,000109 2,89E-05 -7,5E-10 -1,9E-06 1,45E-09 0,628171
11 10 2,630861 0,739899 0,120273 0,004985 8,26E-05 -0,00375 8,99E-05 3,492443
11 11 2,630861 0,739899 0,120273 0,004985 8,26E-05 -0,00375 8,99E-05 3,492443
11 12 2,630861 0,739899 0,120273 0,004985 8,26E-05 -0,00375 -9E-05 3,492263
11 13 2,630861 0,739899 0,120273 0,004985 8,26E-05 -0,00375 -9E-05 3,492263
12 00 0,286748 0,00247 0,000842 0,000437 -2,7E-07 -2,2E-05 4,55E-09 0,290475
12 01 0,286748 0,00247 0,000842 0,000437 -2,7E-07 -2,2E-05 4,55E-09 0,290475
12 02 0,286748 0,00247 0,000842 0,000437 -2,7E-07 -2,2E-05 -4,5E-09 0,290475
12 03 0,286748 0,00247 0,000842 0,000437 -2,7E-07 -2,2E-05 -4,5E-09 0,290475

11
No.
Obyek
mode* h1 h2 h3 h4 h5 h6 h7 h
12 10 3,608384 0,15958 0,436556 0,002528 -3,8E-05 -0,00023 -7,5E-05 4,206708
12 11 3,608384 0,15958 0,436556 0,002528 -3,8E-05 -0,00023 -7,5E-05 4,206708
12 12 3,608384 0,15958 0,436556 0,002528 -3,8E-05 -0,00023 7,48E-05 4,206857
12 13 3,608384 0,15958 0,436556 0,002528 -3,8E-05 -0,00023 7,48E-05 4,206857

Keterangan:

* mode: 0x = obyek dengan pixel penuh


1x = obyek dengan informasi tepian (edge) saja

x0 = obyek dengan posisi normal


x1 = obyek dengan posisi dirotasi 90 o
x2 = obyek dengan posisi dicerminkan pada sumbu vertikal
x3 = obyek dengan posisi dicerminkan pada sumbu horisontal

h1 – h7 : nilai-nilai momen invarian

12

Anda mungkin juga menyukai