ฉันจะดึงข้อมูลพื้นผิวโดยใช้ GLCM และจำแนกประเภทโดยใช้ตัวแยกประเภท SVM ได้อย่างไร


12

ฉันอยู่ในโครงการการแบ่งส่วนและจำแนกเนื้องอกของตับ ฉันใช้ Region Growing และ FCM สำหรับการแบ่งส่วนตับและเนื้องอกตามลำดับ จากนั้นฉันใช้เมทริกซ์ระดับสีเทาร่วมเกิดขึ้นสำหรับการแยกคุณลักษณะของพื้นผิว ฉันต้องใช้ Support Vector Machine เพื่อจัดหมวดหมู่ แต่ฉันไม่ทราบวิธีปรับเวกเตอร์คุณลักษณะให้เป็นมาตรฐานเพื่อที่ฉันจะสามารถให้มันเป็นอินพุตของ SVM ได้ มีใครบอกวิธีเขียนโปรแกรมใน Matlab ได้บ้าง

ในโปรแกรม GLCM ฉันให้ภาพที่แบ่งกลุ่มเนื้องอกเป็นอินพุต ฉันถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นฉันคิดว่าผลลัพธ์ของฉันก็จะถูกต้องด้วย

การเข้ารหัส glcm ของฉันเท่าที่ฉันได้ลองคือ

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

นี่เป็นการใช้งานที่ถูกต้องหรือไม่ นอกจากนี้ฉันได้รับข้อผิดพลาดที่บรรทัดสุดท้าย

ผลลัพธ์ของฉันคือ:

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 ถึง 6

0.0510    0.0503    0.9513    0.9519    0.8988    0.8988

คอลัมน์ 7 ถึง 12

0.9930    0.9935    0.0345    0.0339    0.8223    0.8255

คอลัมน์ 13 ถึง 18

0.9616    0.9617    0.9957    0.9957    0.0230    0.0246

คอลัมน์ 19 ถึง 24

0.7450    0.7270    0.9815    0.9813    0.9971    0.9970

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

ภาพอินพุตคือ:

fzliver1 fzliver2 fzliver3


คุณใช้อะไรในการปรับใช้อัลกอริทึม Fuzzy C-หมายถึง
Spacey

@ Mohammad ฉันไม่เข้าใจคุณ หากคุณถามเกี่ยวกับซอฟต์แวร์ฉันใช้ Matlab
Gomathi

ใช่ฉันรู้ว่า แต่ฉันหมายถึงคุณใช้ห้องสมุดในตัวสำหรับการใช้งานการแบ่งส่วน Fuzzy-C-Means หรือคุณเขียนของคุณเองหรือนำเข้าห้องสมุดบุคคลที่สาม? ฉันถามเพราะฉันยังสนใจที่จะดำเนินการแบ่งกลุ่มด้วยเช่นกันและแพลตฟอร์มของฉันก็เป็น MATLAB
Spacey

@Mohammad ไม่ครับผมไม่ได้ติดตั้งไลบรารีเฉพาะสำหรับ FCM ฉันใช้ FCM Thresheholding อ้างอิงถึง Matlab Central File Exchange ฉันหวังว่ามันจะมีประโยชน์สำหรับคุณ
Gomathi

วิธีการที่ดี แต่ฉันมีซอฟต์แวร์ ENVI 4.0 ฉันต้องการประมวลผลภาพถ่ายดาวเทียม Landsat 7 เพื่อประเมินปริมาณต้นไม้

คำตอบ:


8

คุณใช้ Matlab หรือไม่ ถ้าเป็นเช่นนั้นคุณจะต้องใช้ Bioinformatics Toolbox ซึ่งรวมถึงตัวแยกประเภท SVM หรือคุณสามารถดาวน์โหลด libsvm ซึ่งมีตัวห่อ Matlab สำหรับการฝึกอบรมและการทดสอบ

จากนั้นคุณจะต้องใช้ข้อมูลที่มีป้ายกำกับ คุณกำลังจำแนกคนที่มีตับแตกต่างจากคนที่มีสุขภาพดีหรือไม่ จากนั้นคุณจะต้องการภาพของเนื้องอกในตับและตับที่มีสุขภาพดี

จากนั้นคุณต้องคำนวณคุณสมบัติบางอย่าง สิ่งเหล่านั้นขึ้นอยู่กับลักษณะของปัญหา คุณสมบัติพื้นผิวดูเหมือนเป็นการเริ่มต้นที่ดี พิจารณาใช้เมทริกซ์ร่วมที่เกิดขึ้นหรือรูปแบบไบนารีท้องถิ่น

แก้ไข: ตั้งแต่รีลีส R2014a มีฟังก์ชั่นfitcsvmในกล่องเครื่องมือการเรียนรู้สถิติและเครื่องจักรสำหรับการฝึกอบรมตัวจําแนก SVM ไบนารี นอกจากนี้ยังมีfitcecocสำหรับการฝึกอบรม SVM หลายระดับ


ขอบคุณ. ฉันดาวน์โหลด libsvm แล้ว ฉันยังคำนวณคุณสมบัติพื้นผิวโดยใช้เมทริกซ์การเกิดร่วมระดับสีเทา แต่ฉันไม่ทราบวิธีการป้อนข้อมูลให้กับโปรแกรม svm โปรดอ้างถึงstackoverflow.com/questions/9751265/… โปรดแนะนำฉัน
Gomathi

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.