Professional Documents
Culture Documents
LI CAM OAN
Em xin cam oan ni dung ca n tt nghip ny khng phi l bn sao chp
ca bt c n hoc cng trnh no c t trc. Nu vi phm em xin chu mi hnh
thc k lut ca Khoa.
Phm c Thin
Nguyn Vn Duy
V
11DT3
Li cam oan
PHM C THIN
11DT3
Mc lc
MC LC
Li cam oan........................................................................................................................1
Bng phn cng cng vic.................................................................................................2
Mc lc..................................................................................................................................3
Danh mc hnh nh............................................................................................................. 5
Cc t vit tt....................................................................................................................... 7
Li m u............................................................................................................................8
Chng 1 Tng quan, c s l thuyt v cc thut ton x l nh MRI no 12
Gii thiu v nh MRI v phn loi nh no.............................................................12
Gii thiu v cc thut ton lin quan n x l nh.................................14
Thut ton nh phn v phn ngng otsu...........................................................14
Nh phn nh.....................................................................................................14
Thut ton phn ngng Otsu..........................................................................14
Bin i wavelet ri rc.........................................................................................16
Phn tch wavelet, cc xp x v chi tit........................................................16
Phn tch a phn gii......................................................................................18
Mt s ng dng ni bt ca wavelet..............................................................20
Thut ton PCA......................................................................................................21
Ma trn ng hin mc xm..................................................................................24
My vecto h tr SVM.......................................................................................... 26
Bi ton nh phn..............................................................................................26
SVM cho bi ton phn lp tuyn tnh...........................................................26
SVM bin cng.................................................................................................28
SVM bin mm.................................................................................................30
SVM cho phn lp tuyn tnh..........................................................................30
Mc lc
1.3
Kt lun chng .. 34
2.2
2.2.1
2.2.2
2.2.3
2.3
3.2
3.3
Kt qu thc nghim . 46
3.3.1
3.3.2
3.3.3
3.4
M hnh nh gi . 50
3.5
3.6
Danh mc hnh nh
DANH MC HNH NH
Hnh 1.1
Hnh 1.2
Hnh 1.3
Hnh 1.4
Hnh 1.5
Hnh 1.6
Hnh 1.7
Hnh 1.8
Hnh 1.9
Hnh 1.10
Hnh 1.11
Hnh 1.12
Hnh 2.1
Hnh 2.2
Hnh 2.3
Hnh 3.1
Hnh 3.2
Hnh 3.3
Hnh 3.4
Danh mc hnh nh
Hnh 3.5
Danh mc hnh nh
Hnh 3.6
Hnh 3.7
Hnh 3.8
Hnh 3.9
Cc t vit tt
CC T VIT TT
G
GUI
GLCM
DWT
PCA
MRI
SVM
Li m u
LI M U
1. L do chn
ti
Ngy nay, trong dng chy ca cuc sng hi h dng nh con ngi khng th
kim sot c nhng loi thc phm m mnh n phi, nhng thc phm c hi cho
sc khe, nhng thc phm bn, n nhanh ang ngy cng gia tng. iu ny
gy pht sinh nhiu cn bnh cho con ngi, v vy mc ch ca y t l thit k mt
h thng nhm chn on bnh mt cch nhanh v chnh xc. V vy mt trong nhng
k thut ph bin nht c s dng trong lnh vc y t l k thut X L nh , k
thut ny c th s dng nhiu phng php khc nhau nhm ci thin hiu sut v
chnh xc ca h thng. Mt trong nhng bnh nguy him nht trn th gii hin nay l
bnh u no. N xy ra do s pht trin bt thng ca cc t bo trong no. Nhng
khi u no c nhiu hnh dng v kch c. Cc khi u no c th lnh tnh hoc c tnh.
Cc ngun chnh c c hnh nh y t l nh X-quang v nh MRI. MRI l tt nht
c bit n vi c im ca n nh s khc bit vt tri cc m mm, phn
gii khng gian cao v tng phn. N khng s dng bc x ion ha c hi cho
bnh nhn, cc khi u lnh tnh c cu trc ng nht v khng cha cc t bo ung
th. Khi u c tnh l c th c mt cu trc khng ng nht v c cha t bo ung
th. Nhng t bo ny c th c iu tr bng cc k thut nh x tr, ha tr liu
hoc mt s kt hp v h l e da tnh mng, lnh vc y t c th vt tri hn bng
cch s dng cng ngh chn on t ng v hiu qu trong mt thi gian ngn. Vi
vai tr v ngha to ln m vic phn loi nh u no mang li, chng em chn ti
Phn loi nh MRI u no phn no hiu c nguyn l, ngha v c th p
dng c ti vo thc t.
Li m u
Tm hiu l thuyt:
Li m u
Li m u
4. Kt qu n
Trong n ny, nhm em t c nhng kt qu sau:
Xy dng h thng phn loi u no nhn bit no l c tnh hoc lnh tnh
X l cc nh MRI u vo khc nhau gm 2 loi : nh no c u c tnh v
nh no c u lnh tnh.
1
0
Li m u
11
o Gi thnh cn cao
o Khng dng c nu bnh nhn b chng s ni cht hp hay ng kn,
hi chng s lng knh (Claustrophobia)
o Thi gian chp lu: Gp kh khn nu bnh nhn nng hay khng hp
tc
o V xng v tn thng c calci kho st khng tt bng XQ, CT
o Khng th chp bnh nhn vi my to nhp tim, cc clip phu thut, m
cy mt hay tai.
o Khng th mang theo thit b hi sc vo phng chp.
n
Trong :
2 ,
Trong :
k 1
L1
q0
qk
0 p q rq 1 p q rq ;
0
k1
qp r /
q0
L1
L1
qk
q0
1 qp q rq / 1 ; T qp q rq
Bin i wavelet ri rc
Vic tnh ton cc h s wavelet ti tt c cc t l l mt cng vic ht sc phc
tp, s to ra mt lng d liu khng l. n gin ngi ta ch chn ra mt tp nh
cc gi tr t l v cc v tr tin hnh tnh ton, c th la chn tin hnh ti cc t l
v cc v tr trn c s lu tha c s 2 th kt qu thu c s hiu qu v chnh xc
hn rt nhiu. Qu trnh chn cc t l v cc v tr tnh ton nh trn to thnh li
nh t (dyamic). Mt qu trnh phn tch nh th hon ton c th thc hin c nh
bin i wavelet ri rc (discrere wavelet transform/ DWT).
Phn tch wavelet, cc xp x v chi tit
Vi nhiu tn hiu, ni dung tn s thp l quan trng nht, n xc nh tn hiu.
Ni dung tn s cao ch lm tng thm hng v. V d nh ging ni ngi, nu tch
b phn cao tn, ging c khc nhng vn c th hiu c ni dung. Tuy nhin nu
loi b tn s thp n mt mc no , s khng nghe r na. Cn i vi nh ta quan
tm n hai thut ng l xp x l thnh phn t l cao tng ng thnh phn tn s
thp ca nh v chi tit tng ng thnh phn tn s cao ca nh, t l thp. Vi phn
tch wavelet ta thu c hai thnh phn tng ng trn, c th vic thc hin nh sau:
m
b=2 n
m, n
Hnh 1.2: Qu trnh phn tch tn hiu dng bin i DWT mt chiu
NH
DWT
LL
HL
LH
HH
DWT
xp x hon ton c tch ra, do mt tn hiu c phn tch thnh nhiu thnh
phn phn gii khc nhau, tin trnh c thc hin theo hnh 1.4 nh sau:
Mt s ng dng ni bt ca Wavelet
Nn tn hiu
Do c im ca mnh, wavelet c bit tt khi s dng nn hay phn tch
cc tn hiu khng dng, c bit l tn hiu nh s v cc ng dng nn ting
ni, nn d liu. Vic s dng cc php m ho bng con, bng lc s nhiu
nhp v bin i Wavelet ri rc tng ng vi loi tn hiu cn phn tch c th
mang li nhng hiu qu rt r rt trong nn tn hiu. Do tnh cht ch tn ti
trong cc khong thi gian rt ngn (khi phn tch tn hiu trong min thi gian
tn s) m cc h s ca bin i Wavelet c kh nng tp trung nng lng rt
tt vo cc h s bin i. Cc h s mang thng tin chi tit ca bin i
Wavelet thng rt nh v c th b qua m khng nh hng ti vic m ho
d liu (trong phng php m ho nh hay ting ni l nhng tn hiu cho
php m ho c tn tht thng tin).
2
0
Kh nhiu
Tnh cht ca bin i Wavelet m chng ta xt ti trong phn ng dng
cho nn tn hiu c m rng bi Iain Johnstone v David Donohos trong cc
ng dng kh nhiu cho tn hiu. Phng php kh nhiu ny c gi l
Wavelet Shrinkage Denoising (WSD). tng c bn ca WSD da trn vic
tn hiu nhiu s l r khi phn tch bng bin i Wavelet cc h s bin i
bc cao. Vic p dng cc ngng loi b tng ng vi cc bc cao hn ca
h s Wavelet s c th d dng loi b nhiu trong tn hiu.
M ho ngun v m ho knh
S d Wavelet c ng dng trong m ho ngun v m ho knh v trong m
ho ngun th chng ta cn kh nng nn vi t l nn cao cn trong m ho
knh th cn kh nng chng nhiu tt. Bin i Wavelet kt hp vi mt s
phng php m ho nh m ho Huffman hay m ho s hc c th thc hin
c c hai iu trn. V th s s dng bin i Wav elet trong m ho ngun
v m ho knh l rt thch hp.
21
Hnh 1.8 Minh ha PCA Tm cc trc ta mi sao cho d liu c bin thin cao
nht.
Gi s tp d liu ban u (tp im mu xanh) c quan st trong khng gian
3 chiu (trc mu en) nh hnh bn tri. R rng 3 trc ny khng biu din c tt
nht mc bin thin ca d liu. Do , PCA s tm h trc ta mi (l h trc
mu trong hnh bn tri). Sau khi tm c khng gian mi, d liu s c chuyn
sang khng gian ny c biu din nh trong hnh bn phi. R rng hnh bn phi
ch cn 2 trc ta nhng biu din tt hn bin thin ca d liu so vi h trc 3
chiu ban u. Mt im rt tt na ca PCA l cc trc ta trong khng gian mi
lun m bo trc giao i mt vi nhau, mc d trong khng gian ban u, cc trc c
th khng trc giao.
1
= (2 )
= (2 )
11 +
2 2 + +
11 +
22 + +
My vecto h tr SVM
Bi ton phn lp
Phn lp (classification) l mt tin trnh x l nhm xp cc mu d liu hay
cc i tng vo mt trong cc lp c nh ngha trc. Cc mu d liu hay
cc i tng c xp vo cc lp da vo gi tr ca cc thuc tnh (attributes) cho
mt mu d liu hay i tng. Sau khi xp tt c cc i tng bit trc vo
cc lp tng ng th mi lp c c trng bi tp cc thuc tnh ca cc i tng
cha trong lp . Qu trnh phn lp cn c gi l quy trnh gn nhn cho cc tp
d liu. Nhim v ca bi ton phn lp d liu l cn xy dng m hnh (b) phn lp
khi c mt d liu mi vo th m hnh phn lp s cho bit d liu thuc lp
no. C nhiu cch biu din mt m hnh phn lp v c rt nhiu thut ton gii
quyt n. Cc thut ton phn lp tiu biu bao gm nh mng neural, cy quyt nh,
suy lun quy np, mng Beyesian, Support Vector Machine (SVM). Trong cc k thut
, SVM c coi l cng c mnh, ph bin v c bit thch hp cho phn lp d
liu ln v nhiu chiu.
SVM cho bi ton phn lp tuyn tnh
Hnh thc n gin ca vic phn lp l phn lp nh phn: phn bit gia cc
i tng thuc v mt trong hai lp: dng (+1)hoc m (-1). SVMs s dng hai khi
nim gii quyt vn ny: phn lp bin rng v hm kernel. tng ca phn
lp bin rng c th c minh ha bi s phn lp ca cc im trong khng gian hai
Trong phn ny, tng v phn lp tuyn tnh s dng SVM c gii thiu.
Cc d liu bao gm cc i tng c nhn l mt trong hai nhn. thun tin, gi
nh rng cc nhn +1 (dng) v -1 (m). Ly x biu th mt vector vi M phn t xj,
(j = 1,. .. , M ) tc l mt im trong mt khng gian vectorM- chiu. Cc x k hiu
biu th vector th I trong mt tp d
, trong Yi l nhn lin quan Xi.
Cc i tng. Xi c gi l c tnh u vo. Mt khi nim quan trng cn thit
xc nh mt phn lp tuyn tnh l tch v hng gia hai vect, cn cgi l tch
trong.
SVM bin mm
Trong thc t, d liu thng khng phn chia tuyn tnh (Hnh 3). Kt qu l
thuyt v thc nghim cho thy vi bin ln hn th SVM bin mm s cho hiu qu
tt hn so vi SVM bin cng. chp nhn mt s li, ngi ta thay th cc rng
buc dng bt ng thc (2) viyi (<w, xi> + b) 1 - i, i = 1,, n, trong i 0 l
cc bin ph khng m. Thm vo hm ti u ha :
31
Vic biu din di dng bin i c gi l dng i ngu (dual), i din hai hm
c bit ph thuc vo cc d liu ch thng qua cc tch v hng trong khng gian.
Cc quan st tng t cng ng cho bi ton ti u ha i ngu (phng trnh (4))
khi thay th xi vi f(xi).Nu hm kernel k(x, x) c nh ngha l:
Hm ny c th c tnh ton mt cch hiu qu. Dng i ngu cho php gii
quyt vn m khng cn thc hin nh x f vo mt khng gian c nhiu chiu. Cc
vn tip theo l xc nh cc o tng t (hmkernel) c th c tnh mt cch
hiu qu.
liu trong hnh 4 a thc bc 2 linh hot phn bit gia hai lp vi mt
bin
Thut ton PCA : S dng k thut PCA gim chiu d liu cho cng vic
tnh ton d dng hn v s dung k thut GLCM trch xut cc c ring
ca nh MRI ta c th phn loi c hai loi bnh u no khc nhau.
Bc 1:
S dng cc nh MRI noI1, I2, In.
Bc 3:
Tnh vector nh no trung bnh
C th ta c:
Bc 4:
c:
Bc 5:
1/M
N2xM (9x4)
4
0
Bc 6.1:
Xt ma trn AT.A (ch ma trn ny ch c kch thc l MxM)
C th ta c:
AT.A
Kch thc
MxM (4x4).
Gim
Bc 6.2:
Tnh cc vector ring vi (eigenvectors) ca ma trn vung AT.A ny. [2] [8] Tips: V
cch tm tr ring (eigenvalues) & vector ring (eigenvectors) c th xem li Ton cao
cp Tp 1 i s v Hnh hc Gii tch. Tuy nhin, cch ny khng kh thi khi lp
trnh !! Phi dng Phng php lp (thut ton QR) tm. y ta s tm c 4 tr
ring ca ma trn AT.A, tuy nhin ta s sp xp li theo th t gim dn, v ch ly cc
tr ring non-zero. Kt qu ta c 3 tr ring (t tnh ra 3 vector ring tng
ng):
Cc eigenvector ca AT.A tng ng vi cc eigenvalues.
Kch thc Mx1
v
Cc eigenvalues caAT.A.
41
u1
u2
u3
Ch nn chun ha cc vector
ui (iu 1
), ngha
Cc eigenvector ca ma
trn hip phng sai C (AT.A) cn phi tm.
Kch thc N2x1
u
l: i
ui
ui
bao gm
nhn
lp c
thng s
[12] th trong n ny gm c hai nhn lp chnh
l nhn Malignant tng ng l lp c tnh v nhn Benign tng ng lnh tnh. Tip
theo ta p dng hai phng php tuyn tnh v phi tuyn tnh tin hnh phn loi th
ta s thu c kt qu l trong 160 nh MRI th LIN kernel cho chnh xc ln ti
95% cn Gaussian c chnh xc l 99,38% . iu ny kt lun rng kernel Gaussian
cho chnh xc cao hn kernel LIN [1] [5] [6].
Cc phm bm:
Load MRI Image: chn nh MRI no mun nhn dng.
Segmented Image: phn on khi u ca nh MRI no chn
RBF Accuracy in % : nh gi % chnh xc ca phn loi SVM ca
kernel Gaussian
Linear Accuracy in % : nh gi % chnh xc ca phn loi SVM ca
kernel Linear[8]
Cc thng bo:
Type of Tumor : Kt qu ca vic phn loi.
Entropy : Kt qu tnh gi tr entropy ca ma trn ng mc xm .
Contrast : Kt qu tnh gi tr tng phn ca ma trn ng mc xm .
Correlation : Kt qu tnh gi tr tng quan ca ma trn ng mc xm
Energy : Kt qu tnh gi tr nng lng ca ma trn ng mc xm .
Homogeneity : Kt qu tnh gi tr ng nht ca ma trn ng mc xm.
Kt qu thc nghim
3.3.1 C s d liu kim tra
C s d liu bao tin hnh kim tra bao gm 22 nh MRI c kch thc ca
mi nh l 256 x 256 m c ly t website ca trng H Harvard
(URL:http://med.harvard.edu/AANLIB/).
Trong s ta c cc loi bnh ph bin ca no nh : glioma, meningioma,
Alzheimers disease, Alzheimers disease plus visual agnosia, Picks disease,sarcoma
v Huntingtons disease [2] [4] [10] [13]
Hnh 3.2: Cc mu nh MRI no (a) nh no trng thi bnh thng; (b) glioma;
(c) meningioma; (d) Alzheimers disease; (e) bnh Alzheimers; (f) bnh Pick; (g)
sarcoma; (h) bnh Huntingtons
Kt qu thc nghim vi mu u lnh tnh
Khi tin hnh phn loi, ta chn Load MRI v vo foder cha hnh nh MRI no
u lnh tnh , sau khi ta chn xong ta bt u phn on hnh nh khi U th ta thu
c kt qu trong khung Type of Tumor l BENIGN cho thy kt qu hon ton
chnh xc nh nhng g ta chn. Khung Features hin th cho ta nhng c trng
ring tnh c t hnh nh ta chn. Ta s chn mu khc tip tc kho st.
Cc yu cu:
Bt k v d no thuc vo tp kim th D_test u khng c s dng trong
qu trnh hun luyn h thng
Bt k v d no c s dng trong giai on hun luyn h thng (i.e., thuc
vo D_train) u khng c s dng trong giai on nh gi h thng
Cc v d kim th trong D_test cho php mt nh gi khng thin v i vi
hiu nng ca h thng
51
DWT 2D
PCA + GLCM
SVM Classification
Kt lun chng.
Qua thc nghim, nhn thy vic phn loi vi cc nh MRI u cho ra kt qu
chnh xc nh mong i. Khi ta thm mt nh no khc khng c trong c s d liu
th vic phn loi vn cho chnh xc cao. Chng em p dng hai loi kernel khc
nhau ca SVM so snh s khc nhau gia chng, th trong th nghim ny kernel
GRB th hin chnh xc cao hn LIN qua s kho st 160 nh MRI. Chng trnh
test c thi gian p ng kh nhanh v thi gian tiu tn tnh c l 0.0448s, iu ny
thun li cho vic chn on nhanh ca bc s .
H thng cn mt s hn ch nh l cha phn loi r loi bnh g m ch phn ra
hai loi c tnh v lnh tnh, v h thng c chnh xc cao v thi gian tiu tn nhanh
ng ngha vi vic dng nhiu thut ton phc tp
[2]
[3]
[4]
[5]
[6]
[10]
Zhang, Y., L. Wu, and G. Wei, A new classifier for polarimetric SAR
images, Progress in Electromagnetics Research, Vol. 94, 83 104, 2009.
[11]
[12]
[13]
[14]
Ph lc
PH LC
Code chng trnh:
Chng trnh PCA v DWT :
close all
clc
clear all
[filename,pathname] =
uigetfile({'*.*';'*.bmp';'*.tif';'*.gif';'*.png'},'Pick an
Image File');
I = imread([pathname,filename]);
figure, imshow(I); title('Brain MRI Image');
I = imresize(I,[200,200]);
% Convert to grayscale
gray = rgb2gray(I);
% Otsu Binarization for segmentation
level = graythresh(I);
img = im2bw(I,level);
figure, imshow(img);title('Otsu Thresholded Image');
% K means Clustering to segment tumor
cform = makecform('srgb2lab');
% Apply the colorform
lab_he = applycform(I,cform);
% Classify the colors in a*b* colorspace using K means
clustering.
% Since the image has 3 colors create 3 clusters.
% Measure the distance using Euclidean Distance Metric.
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 1;
[cluster_idx cluster_center] =
kmeans(ab,nColors,'distance','sqEuclidean', ...'Replicates',1);
Ph lc
%[cluster_idx cluster_center] =
kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3);
% Label every pixel in tha image using results from K means
pixel_labels = reshape(cluster_idx,nrows,ncols);
% Create a blank cell array to store the results of clustering
segmented_images = cell(1,3);
% Create RGB label using pixel_labels
rgb_label = repmat(pixel_labels,[1,1,3]);
for k = 1:nColors
colors = I;
colors(rgb_label ~= k) = 0;
segmented_images{k} = colors;
end
%
figure, imshow(segmented_images{1});title('Objects in Cluster
1');
%figure, imshow(segmented_images{2});title('Objects in Cluster
2');
seg_img = im2bw(segmented_images{1});
figure, imshow(seg_img);title('Segmented Tumor');
%seg_img = img;
% Extract features using DWT
x = double(seg_img);
m = size(seg_img,1);
n = size(seg_img,2);
signal1 = seg_img(:,:);
%Feat = getmswpfeat(signal,winsize,wininc,J,'matlab');
%Features = getmswpfeat(signal,winsize,wininc,J,'matlab');
[cA1,cH1,cV1,cD1] = dwt2(signal1,'db4');
[cA2,cH2,cV2,cD2] = dwt2(cA1,'db4');
[cA3,cH3,cV3,cD3] = dwt2(cA2,'db4');
DWT_feat = [cA3,cH3,cV3,cD3];
G = pca(DWT_feat);
whos DWT_feat
whos G
g = graycomatrix(G);
stats = graycoprops(g,'Contrast Correlation Energy
Homogeneity');
Ph lc
Contrast = stats.Contrast;
Correlation = stats.Correlation;
Energy = stats.Energy;
Homogeneity = stats.Homogeneity;
Mean = mean2(G);
Standard_Deviation = std2(G);
Entropy = entropy(G);
RMS = mean2(rms(G));
%Skewness = skewness(img)
Variance = mean2(var(double(G)));
a = sum(double(G(:)));
Smoothness = 1-(1/(1+a));
Kurtosis = kurtosis(double(G(:)));
Skewness = skewness(double(G(:)));
% Inverse Difference Movement
m = size(G,1);
n = size(G,2);
in_diff = 0;
for i = 1:m
for j = 1:n
temp = G(i,j)./(1+(i-j).^2);
in_diff = in_diff+temp;
end
end
IDM = double(in_diff);
feat = [Contrast,Correlation,Energy,Homogeneity, Mean,
Standard_Deviation, Entropy, RMS, Variance, Smoothness,
Kurtosis, Skewness, IDM];
load Trainset.mat
xdata = meas;
group = label;
svmStruct1 = svmtrain(xdata,group,'kernel_function', 'linear');
species = svmclassify(svmStruct1,feat,'showplot',false)
% To plot classification graphs, SVM can take only two
dimensional data
data1
= [meas(:,1), meas(:,2)];
newfeat = [feat(:,1),feat(:,2)];
pause
%close all
Ph lc
svmStruct1_new = svmtrain(data1,group,'kernel_function',
'linear','showplot',false);
species_Linear_new =
svmclassify(svmStruct1_new,newfeat,'showplot',false);
%%
% Multiple runs for accuracy highest is 90%
load Trainset.mat
%data
= [meas(:,1), meas(:,2)];
data = meas;
groups = ismember(label,'BENIGN
')
; groups =
ismember(label,'MALIGNANT');
[train,test] = crossvalind('HoldOut',groups);
cp = classperf(groups);
%svmStruct =
svmtrain(data(train,:),groups(train),'boxconstraint',Inf,'showp
lot',false,'kernel_function','rbf');
svmStruct =
svmtrain(data(train,:),groups(train),'showplot',false,'kernel_f
unction','linear');
classes = svmclassify(svmStruct,data(test,:),'showplot',false);
classperf(cp,classes,test);
Accuracy_Classification = cp.CorrectRate.*100;
sprintf('Accuracy of Linear kernel is:
%g%%',Accuracy_Classification)
%% Accuracy with RBF
svmStruct_RBF =
svmtrain(data(train,:),groups(train),'boxconstraint',Inf,'showp
lot',false,'kernel_function','rbf');
classes2 =
svmclassify(svmStruct_RBF,data(test,:),'showplot',false);
classperf(cp,classes2,test);
Accuracy_Classification_RBF = cp.CorrectRate.*100;
sprintf('Accuracy of RBF kernel is:
%g%%',Accuracy_Classification_RBF)
%% Accuracy with Polynomial
svmStruct_Poly =
svmtrain(data(train,:),groups(train),'Polyorder',2,'Kernel_Func
tion','polynomial');
6
0
Ph lc
classes3 =
svmclassify(svmStruct_Poly,data(test,:),'showplot',false);
classperf(cp,classes3,test);
6
0
Ph lc
Accuracy_Classification_Poly = cp.CorrectRate.*100;
sprintf('Accuracy of Polynomial kernel is:
%g%%',Accuracy_Classification_Poly)
%%
% 5 fold cross validation
% 5 fold cross validation
load Normalized_Features.mat
xdata = norm_feat;
group = norm_label;
indicies = crossvalind('Kfold',label,5);
cp = classperf(label);
for i = 1:length(label)
test = (indicies==i);train = ~ test;
svmStruct =
svmtrain(xdata(train,:),group(train),'boxconstraint',Inf,'showp
lot',false,'kernel_function','rbf');
classes =
svmclassify(svmStruct,xdata(test,:),'showplot',false);
%class =
svmclassify(meas(test,:),meas(train,:),label(train,:));
classperf(cp,classes,test);
end
Ph lc
Ph lc
%
handles.FileName = FileName;
guidata(hObject,handles);
end
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
if isfield(handles,'ImgData')
%if isfield(handles,'imgData')
I = handles.ImgData;
gray = rgb2gray(I);
% Otsu Binarization for segmentation
level = graythresh(I);
%gray = gray>80;
img = im2bw(I,.6);
img = bwareaopen(img,80);
img2 = im2bw(I);
axes(handles.axes2)
imshow(img);title('Segmented Image');
%imshow(tumor);title('Segmented Image');
handles.ImgData2 = img2;
guidata(hObject,handles);
signal1 = img2(:,:);
%Feat = getmswpfeat(signal,winsize,wininc,J,'matlab');
%Features = getmswpfeat(signal,winsize,wininc,J,'matlab');
[cA1,cH1,cV1,cD1] = dwt2(signal1,'db4');
[cA2,cH2,cV2,cD2] = dwt2(cA1,'db4');
[cA3,cH3,cV3,cD3] = dwt2(cA2,'db4');
DWT_feat = [cA3,cH3,cV3,cD3];
G = pca(DWT_feat);
whos DWT_feat
whos G
g = graycomatrix(G);
stats = graycoprops(g,'Contrast Correlation Energy
Homogeneity');
Contrast = stats.Contrast;
Correlation = stats.Correlation;
Energy = stats.Energy;
Homogeneity = stats.Homogeneity;
Mean = mean2(G);
Standard_Deviation = std2(G);
Entropy = entropy(G);
RMS = mean2(rms(G));
%Skewness = skewness(img)
Variance = mean2(var(double(G)));
a = sum(double(G(:)));
Smoothness = 1-(1/(1+a));
Kurtosis = kurtosis(double(G(:)));
Skewness = skewness(double(G(:)));
% Inverse Difference Movement
m = size(G,1);
n = size(G,2);
in_diff = 0;
for i = 1:m
for j = 1:n
temp = G(i,j)./(1+(i-j).^2);
in_diff = in_diff+temp;
end
end
IDM = double(in_diff);
feat = [Contrast,Correlation,Energy,Homogeneity, Mean,
Standard_Deviation, Entropy, RMS, Variance, Smoothness,
Kurtosis, Skewness, IDM];
load Trainset.mat
xdata = meas;
group = label;
svmStruct1 = svmtrain(xdata,group,'kernel_function',
'linear');
species = svmclassify(svmStruct1,feat,'showplot',false);
if strcmpi(species,'MALIGNANT')
helpdlg(' Malignant Tumor ');
disp(' Malignant Tumor ');
else helpdlg(' Benign Tumor ');
disp(' Benign Tumor ');
end
set(handles.edit4,'string',species);
% Put the features in GUI
set(handles.edit7,'string',Entropy);
set(handles.edit14,'string',Contrast);
set(handles.edit15,'string',Correlation);
set(handles.edit16,'string',Energy);
set(handles.edit17,'string',Homogeneity);
end
% --- Executes on button press in pushbutton3.
function pushbutton4_Callback(hObject, eventdata, handles)
load Trainset.mat
%data
= [meas(:,1), meas(:,2)];
Accuracy_Percent= zeros(200,1);
itr = 80;
hWaitBar = waitbar(0,'Evaluating Maximum Accuracy with 100
iterations');
for i = 1:itr
data = meas;
%groups = ismember(label,'BENIGN
');
groups = ismember(label,'MALIGNANT');
[train,test] = crossvalind('HoldOut',groups);
cp = classperf(groups);
%svmStruct =
svmtrain(data(train,:),groups(train),'boxconstraint',Inf,'showp
lot',false,'kernel_function','rbf');
svmStruct_RBF =
svmtrain(data(train,:),groups(train),'boxconstraint',Inf,'showp
lot',false,'kernel_function','rbf');
classes2 =
svmclassify(svmStruct_RBF,data(test,:),'showplot',false);
classperf(cp,classes2,test);
%Accuracy_Classification_RBF = cp.CorrectRate.*100;
Accuracy_Percent(i) = cp.CorrectRate.*100;
sprintf('Accuracy of RBF Kernel is: %g%%',Accuracy_Percent(i))
waitbar(i/itr);
end
delete(hWaitBar);
Max_Accuracy = max(Accuracy_Percent);
sprintf('Accuracy of RBF kernel is: %g%%',Max_Accuracy)
set(handles.edit1,'string',Max_Accuracy);
guidata(hObject,handles);
%data
= [meas(:,1), meas(:,2)];
Accuracy_Percent= zeros(200,1);
itr = 100;
hWaitBar = waitbar(0,'Evaluating Maximum Accuracy with 100
iterations');
for i = 1:itr
data = meas;
%groups = ismember(label,'BENIGN
');
groups = ismember(label,'MALIGNANT');
[train,test] = crossvalind('HoldOut',groups);
cp = classperf(groups);
svmStruct =
svmtrain(data(train,:),groups(train),'showplot',false,'kernel_f
unction','linear');
classes = svmclassify(svmStruct,data(test,:),'showplot',false);
classperf(cp,classes,test);
%Accuracy_Classification = cp.CorrectRate.*100;
Accuracy_Percent(i) = cp.CorrectRate.*100;
sprintf('Accuracy of Linear Kernel is:
%g%%',Accuracy_Percent(i))
waitbar(i/itr);
end
delete(hWaitBar);
Max_Accuracy = max(Accuracy_Percent);
sprintf('Accuracy of Linear kernel is: %g%%',Max_Accuracy)
set(handles.edit2,'string',Max_Accuracy);
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
load Trainset.mat
%data
= [meas(:,1), meas(:,2)];
Accuracy_Percent= zeros(200,1);
itr = 100;
hWaitBar = waitbar(0,'Evaluating Maximum Accuracy with 100
iterations');
for i = 1:itr
data = meas;
groups = ismember(label,'BENIGN
')
; groups =
ismember(label,'MALIGNANT');
[train,test] = crossvalind('HoldOut',groups);
cp = classperf(groups);
svmStruct_Poly =
svmtrain(data(train,:),groups(train),'Polyorder',2,'Kernel_Func
tion','polynomial');
classes3 =
svmclassify(svmStruct_Poly,data(test,:),'showplot',false);
classperf(cp,classes3,test);
Accuracy_Percent(i) = cp.CorrectRate.*100;
sprintf('Accuracy of Polynomial Kernel is:
%g%%',Accuracy_Percent(i))
waitbar(i/itr);
end
delete(hWaitBar);
Max_Accuracy = max(Accuracy_Percent);
%Accuracy_Classification_Poly = cp.CorrectRate.*100;
sprintf('Accuracy of Polynomial kernel is: %g%%',Max_Accuracy)
set(handles.edit3,'string',Max_Accuracy);
end
72
Accuracy_Percent= zeros(200,1);
itr = 100;
hWaitBar = waitbar(0,'Evaluating Maximum Accuracy with 100
iterations');
for i = 1:itr
data = meas;
groups = ismember(label,'BENIGN
')
; groups =
ismember(label,'MALIGNANT');
[train,test] = crossvalind('HoldOut',groups);
cp = classperf(groups);
svmStruct4 =
svmtrain(data(train,:),groups(train),'showplot',false,'kernel_f
unction','quadratic');
classes4 =
svmclassify(svmStruct4,data(test,:),'showplot',false);
classperf(cp,classes4,test);
%Accuracy_Classification_Quad = cp.CorrectRate.*100;
Accuracy_Percent(i) = cp.CorrectRate.*100;
sprintf('Accuracy of Quadratic Kernel is:
%g%%',Accuracy_Percent(i))
waitbar(i/itr);
end
delete(hWaitBar);
Max_Accuracy = max(Accuracy_Percent);
sprintf('Accuracy of Quadratic kernel is: %g%%',Max_Accuracy)
set(handles.edit19,'string',Max_Accuracy);