Bagaimana cara mengevaluasi kinerja algoritma segmentasi?

8

Saat ini saya sedang dalam proyek segmentasi tumor hati. Saya mengelompokkan hati menggunakan pertumbuhan daerah, dan saya harus menilai seberapa akurat hasilnya. Saya baru-baru ini belajar bahwa ada metrik tertentu untuk menilai keakuratan segmentasi algoritma pertumbuhan daerah, seperti Koefisien Tanimoto, Korelasi, dll. Tapi saya tidak tahu bagaimana menerapkannya di Matlab. Lihat /programming/9553204/tanimoto-coefisien-using-matlab

Gomathi
sumber
Anda harus menguraikan pekerjaan apa yang telah Anda lakukan sejauh ini. Tidak apa-apa untuk merujuk pertanyaan Anda yang lain pada topik yang sama, tetapi orang-orang harus memiliki gagasan yang masuk akal tentang konteks pertanyaan itu.
Dipan Mehta
Sebenarnya saya telah menggunakan pendekatan pertumbuhan wilayah untuk segmentasi dan mengekstraksi daerah hati. Saya baru-baru ini belajar bahwa ada metrik tertentu untuk menilai keakuratan segmentasi algoritma pertumbuhan daerah, seperti Koefisien Tanimoto, Korelasi, dll. Tapi saya tidak tahu bagaimana menerapkannya di Matlab. Lihat stackoverflow.com/questions/9553204/... Mohon bantu saya.
Gomathi
Jadi Anda menjadi lebih jauh dari yang Anda pimpin untuk kita percayai. Bagian mana dari algoritma yang Anda mengalami kesulitan dalam mengimplementasikan?
Emre
@Emre: Koefisien Tanimoto. Saya tidak tahu bagaimana cara mengimplementasikannya di Matlab. Seseorang mengatakan kepada saya bahwa untuk hasil yang benar, itu melibatkan beberapa loop. Tapi, saya baru di Matlab dan pemrosesan gambar. Itu sebabnya saya tidak bisa mengimplementasikannya. Bisakah Anda membimbing saya?
Gomathi

Jawaban:

4

Mengingat bahwa Anda hanya bekerja pada Koefisien Tanimoto, saya mencoba untuk lebih spesifik daripada memberikan jawaban umum dengan berbagai pendekatan berbeda.

Notasi dasar Koefisien Tanimoto adalah sebagai berikut:

T(SEBUAH,B)=NSEBUAHBNSEBUAH+NB-NSEBUAHB

di mana adalah hasil yang diinginkan, lebih dari gambar danTSEBUAHB

Dalam ukuran ini, kami mengidentifikasi piksel sebagai bagian dari segmen tertentu, yaitu piksel segmen atau latar. mengacu pada jumlah piksel yang diklasifikasikan sebagai piksel segmen dalam gambar masing-masing. Dan mengacu pada jumlah piksel yang diklasifikasikan sebagai piksel segmen pada kedua gambar.
NNSEBUAHB

Dalam ukuran ini semua piksel yang memenuhi syarat dalam A maupun B tidak dihitung; hanya pikselnya.

Juga, kedua gambar harus memiliki resolusi yang sama dan harus memiliki lokasi yang identik dengan untuk objek yang disegmentasi lain bahkan jika bentuk segmentasi tepat, tumpang tindih yang dihasilkan mungkin tidak benar.

Saya tidak masuk ke kode MATLAB Anda, tetapi di sini adalah kode pseudo yang terlihat seperti.

Initialize N_A, N_B, N_AB;
for( all pixels @ x,y) 
{
   if(image_A[x][y] == SEGMENT_CLASS_PIXEL) 
    N_A += 1;

   if(image_B[x][y] == SEGMENT_CLASS_PIXEL) 
    N_A += 1;

   if(image_A[x][y] == SEGMENT_CLASS_PIXEL 
      && image_B[x][y] == SEGMENT_CLASS_PIXEL) 
    N_AB += 1;

}

T = N_AB / (N_A + N_B - N_AB); 
Dipan Mehta
sumber
Terima kasih banyak Pak. Saya punya ide bagus tentang itu sekarang. Saya akan mencoba mengimplementasikannya. Terima kasih lagi.
Gomathi