GLCM kullanarak dokuları nasıl alabilirim ve SVM Sınıflandırıcı kullanarak nasıl sınıflandırabilirim?


12

Karaciğer tümörü segmentasyonu ve sınıflandırması projesinde çalışıyorum. Bölge Büyümesini ve FCM'yi sırasıyla karaciğer ve tümör segmentasyonu için kullandım. Sonra, doku özelliklerinin çıkarılması için Gray Level Co-oluşum matrisini kullandım. Sınıflandırma için Destek Vektör Makinesi kullanmalıyım. Ama SVM'ye girdi olarak verebilmem için özellik vektörlerinin nasıl normalleştirileceğini bilmiyorum. Birisi Matlab'da nasıl programlanacağını söyleyebilir mi?

GLCM programına, tümör segmentli görüntüyü girdi olarak verdim. Doğru muydum? Eğer öyleyse, bence, çıktım da doğru olacak.

Glcm kodlamam, denediğim kadarıyla,

I = imread('fzliver3.jpg');
GLCM = graycomatrix(I,'Offset',[2 0;0 2]);
stats = graycoprops(GLCM,'all')
t1= struct2array(stats)


I2 = imread('fzliver4.jpg');
GLCM2 = graycomatrix(I2,'Offset',[2 0;0 2]);
stats2 = graycoprops(GLCM2,'all')
t2= struct2array(stats2)

I3 = imread('fzliver5.jpg');
GLCM3 = graycomatrix(I3,'Offset',[2 0;0 2]);
stats3 = graycoprops(GLCM3,'all')
t3= struct2array(stats3)

t=[t1,t2,t3]
xmin = min(t); xmax = max(t);
scale = xmax-xmin;
tf=(x-xmin)/scale

Bu doğru bir uygulama mıydı? Ayrıca, son satırda bir hata alıyorum.

Çıktım:

stats = 

   Contrast: [0.0510 0.0503]
Correlation: [0.9513 0.9519]
     Energy: [0.8988 0.8988]
Homogeneity: [0.9930 0.9935]
t1 =

Columns 1 through 6

0.0510    0.0503    0.9513    0.9519    0.8988    0.8988
Columns 7 through 8

0.9930    0.9935
stats2 = 

   Contrast: [0.0345 0.0339]
Correlation: [0.8223 0.8255]
     Energy: [0.9616 0.9617]
Homogeneity: [0.9957 0.9957]
t2 =

Columns 1 through 6

0.0345    0.0339    0.8223    0.8255    0.9616    0.9617
Columns 7 through 8

0.9957    0.9957
stats3 = 

   Contrast: [0.0230 0.0246]
Correlation: [0.7450 0.7270]
     Energy: [0.9815 0.9813]
Homogeneity: [0.9971 0.9970]
t3 =

Columns 1 through 6

0.0230    0.0246    0.7450    0.7270    0.9815    0.9813
Columns 7 through 8

0.9971    0.9970

t =

1'den 6'ya kadar olan sütunlar

0.0510    0.0503    0.9513    0.9519    0.8988    0.8988

7'den 12'ye kadar olan sütunlar

0.9930    0.9935    0.0345    0.0339    0.8223    0.8255

13 ile 18 arasındaki sütunlar

0.9616    0.9617    0.9957    0.9957    0.0230    0.0246

19 - 24 arasındaki sütunlar

0.7450    0.7270    0.9815    0.9813    0.9971    0.9970

??? Error using ==> minus
    Matrix dimensions must agree.

Giriş görüntüleri:

fzliver1 fzliver2 fzliver3


Bulanık C-Ortalamalar algoritmasını uygulamak için ne kullandınız?
Spacey

@Mohammad Seni anlamıyorum efendim. Eğer yazılımı soruyorsanız, Matlab'ı kullandım.
Gomathi

Evet, bunu anlıyorum, ama Demek istediğim Fuzzy-C-Means segmentasyonunu uygulamak için yerleşik bir kütüphane mi kullandınız, yoksa kendiniz mi yazdınız veya bir 3. taraf kütüphanesini mi aldınız? Soruyorum çünkü bir segmentasyon algo uygulamakla da ilgileniyorum ve platformum da MATLAB.
Spacey

@Mohammad Hayır efendim, FCM için özel bir kütüphane kurmadım. FCM Threheinging kullandım. Matlab Merkezi Dosya Değişimi bölümüne başvurun. Umarım sizin için yararlı olur.
Gomathi

iyi bir yöntem ama ENVI 4.0 yazılımı var. Ağaç hacmini değerlendirmek için Landsat 7 uydu görüntülerini işlemek istiyorum

Yanıtlar:


8

Matlab kullanıyor musunuz? Eğer öyleyse, ya bir SVM sınıflandırıcısı içeren Biyoinformatik Araç Kutusu'na ihtiyacınız olacak ya da eğitim ve test için Matlab sarmalayıcıları olan libsvm'yi indirebilirsiniz.

Ardından bazı etiketlenmiş verilere ihtiyacınız olacak. Karaciğer tümörlerini sağlıklı karaciğerin aksine olarak mı sınıflandırıyorsunuz? Daha sonra, her biri bu şekilde etiketlenmiş karaciğer tümörleri ve sağlıklı karaciğer görüntülerine ihtiyacınız olacaktır.

O zaman bazı özellikleri hesaplamanız gerekir. Bunların ne olduğu, sorunun doğasına bağlıdır. Doku özellikleri iyi bir başlangıç ​​gibi görünüyor. Birlikte ortaya çıkma matrisleri veya yerel ikili kalıplar kullanmayı düşünün.

Düzenleme: R2014a sürümünden itibaren, bir ikili SVM sınıflandırıcısını eğitmek için İstatistik ve Makine Öğrenimi Araç Kutusu'nda bir fitcsvm işlevi vardır. Ayrıca, çok sınıflı bir SVM eğitimi için uygun bir seçenek de vardır .


Teşekkür ederim. Libsvm indirdim. Ayrıca gri düzey birlikte oluşum matrislerini kullanarak doku özelliklerini hesapladım. Ama svm programına nasıl girdi vereceğimi bilmiyorum. Nazikçe bakın stackoverflow.com/questions/9751265/… nazikçe bana rehberlik.
Gomathi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.