Darkflow: Bagaimana cara mengevaluasi akurasi set tes?

Dibuat pada 5 Mar 2018  ·  34Komentar  ·  Sumber: thtrieu/darkflow

Salah satu caranya adalah dengan menghitung "Rata-rata presisi rata-rata: mAP".
Tapi saya tidak mengetahui fitur ini diimplementasikan di darkflow.
Apakah Anda punya saran tentang repo darknet atau orang mana yang telah menulis skrip untuk melakukan ini?

Komentar yang paling membantu

Apakah tidak ada orang yang telah melakukannya sebelumnya?
Tidak ada yang menguji akurasinya?
Saya tidak tahu mengapa hal-hal penting seperti itu belum diterapkan.
Jika tidak ada, mungkin saya perlu mengimplementasikan fitur ini sendiri dan mengkomitnya untuk selamanya.

Semua 34 komentar

https://github.com/thtrieu/darkflow/blob/master/darkflow/utils/box.py memiliki implementasi dasar yang diperlukan untuk mengevaluasi atau menghitung tumpang tindih antara dua gambar. Anda dapat memodifikasinya sesuai kebutuhan Anda dan menghitung presisi rata-rata rata-rata sebagai perkalian dari probabilitas kelas dan box_iou

Apakah tidak ada orang yang telah melakukannya sebelumnya?
Tidak ada yang menguji akurasinya?
Saya tidak tahu mengapa hal-hal penting seperti itu belum diterapkan.
Jika tidak ada, mungkin saya perlu mengimplementasikan fitur ini sendiri dan mengkomitnya untuk selamanya.

Saya juga tertarik dengan fitur ini.

@off99555 , saya melihat orang ini mengerjakan skor F1.

377

Halo @off99555 , saya juga mencari mAP hitung dari data pengujian saya sendiri.
Saya pikir @sandeeprepakula punya jawaban yang bagus, bisakah Anda menjelaskan langkah demi langkah cara menghitung mAP dari iou box? saya sangat pemula dalam pembelajaran mendalam dan deteksi objek

Terima kasih atas bantuan Anda

@andikira saya belum melakukannya. Saya tidak yakin juga.

Halo @off99555 , Anda harus melihat repo ini https://github.com/Cartucho/mAP lalu lihat folder tambahan, Anda dapat mengonversi file .xml dan .json, repo itu berfungsi sempurna dengan darkflow.

@andikira @thtrieu Saya melatih jaringan yolo2-voc pada set trainval PASCAL V0C 0712 dan diuji pada set uji PASCAL VOC 2007, dan kinerja mAP hanya sekitar 52% (setelah cukup banyak zaman (200~) mengingat saya menginisialisasi dengan bobot yang telah dilatih sebelumnya). Ini cukup di bawah kinerja resmi (76,8% mAP). Saya ingin memasukkan hasil eksperimen dengan ide saya menggunakan YOLO v2 di kertas saya. Adakah yang bisa tahu alasannya?

saya telah melihat masalah itu sebelumnya, silakan periksa masalah lain @bareblackfoot

@andikira Repo mAP bekerja dengan sangat baik. Saya juga menyumbangkan naskah di sana. Terima kasih!

Bisakah kamu

@andikira Repo mAP bekerja dengan sangat baik. Saya juga menyumbangkan naskah di sana. Terima kasih!

Bisa tolong jelaskan lebih spesifik? bagaimana cara kerjanya ? bagaimana Anda mendapatkan hasilnya?

@srhtyldz Buka situs web https://github.com/Cartucho/mAP dan buka bagian mulai cepat.
Idenya adalah Anda perlu mengkloning repo, memprediksi gambar Anda menggunakan darkflow dan kemudian Anda menyalin file prediksi ke folder mAP. Salin juga file ground-truth.
Dan Anda melakukan semuanya seperti yang disarankan oleh file README dari repo mAP dan Anda akan melihat mAP sebagai output nomor tunggal.

Anda juga perlu mengonversi file Anda dari format darkflow ke formatnya. Mereka menyediakan skrip untuk mengonversi format darkflow ke formatnya di sini: https://github.com/Cartucho/mAP/tree/master/extra
Baca README-nya.

Anda juga perlu mengonversi file Anda dari format darkflow ke formatnya. Mereka menyediakan skrip untuk mengonversi format darkflow ke formatnya di sini: https://github.com/Cartucho/mAP/tree/master/extra
Baca README-nya.

Saya menemukan bahwa darknet memiliki properti peta. Apakah Anda mencobanya? Apakah ada perbedaan di antara mereka atau mana yang lebih akurat?

@srhtyldz Saya pikir algoritmanya sama. Kecuali bahwa mAP adalah algoritme yang memiliki beberapa parameter yang dapat Anda atur. Biasanya, ini diatur secara manual oleh penulis algoritma. Jadi satu-satunya saat Anda melihat mereka melaporkan nomor yang berbeda adalah ketika mereka memiliki parameter yang berbeda.
Saya sarankan Anda membaca penjelasan tentang cara kerja mAP agar Anda dapat memahami parameter tersembunyinya.
Saya mencoba keduanya. Saya menggunakan darknet dalam tesis saya karena darkflow tidak memiliki opsi untuk menentukan folder keluaran. Ini penting untuk proyek senior saya karena saya menjalankan kode pada FloydHub yang merupakan cloud pembelajaran mendalam yang hanya memungkinkan Anda menggunakan folder tertentu.

Pertama saya menggunakan darkflow dengan mAP dan kemudian saya mengetahui bahwa saya tidak dapat menentukan jalur keluaran, jadi saya beralih ke darknet dan menggunakan perhitungan internal mAP .

Dan yang terpenting, pemilik repo darknet (versi fork dengan AlexeyAB sebagai pemiliknya) sangat membantu. Dia menjawab semua masalah yang saya posting yang membuat saya selesai sebelum batas waktu. Saat itu sangat menegangkan. Saya sangat berterima kasih padanya, saya juga menulis namanya di tesis.

Pertama saya menggunakan darkflow dengan mAP dan kemudian saya mengetahui bahwa saya tidak dapat menentukan jalur keluaran, jadi saya beralih ke darknet dan menggunakan perhitungan internal mAP .

Variabel mana yang ingin Anda tentukan?

Pertama saya menggunakan darkflow dengan mAP dan kemudian saya mengetahui bahwa saya tidak dapat menentukan jalur keluaran, jadi saya beralih ke darknet dan menggunakan perhitungan internal mAP .

Pendapat saya juga untuk darknet. Saya pikir Anda hanya dapat beralih dengan ambang batas dengan perhitungan mAP? Baik ?

Variabel mana yang ingin Anda tentukan?

@srhtyldz Di darkflow sekitar setengah tahun yang lalu, ketika saya memulai utas ini, tidak mengizinkan saya untuk menentukan jalur folder keluaran. Jalur folder keluaran adalah jalur tempat gambar prediksi ditulis.
Jika saya ingat dengan benar, folder output diatur ke folder out di dalam folder dataset Anda.
Misalnya jika Anda memiliki beberapa gambar di dalam img/ , prediksinya akan berada di dalam img/out/ .
Di FloydHub , mereka tidak mengizinkan Anda untuk menulis output ke folder dataset. Jadi jika folder dataset adalah img/ , Anda tidak dapat membuat folder baru sebagai img/out karena Anda akan menemui izin yang ditolak.

Mungkin ini memungkinkan Anda untuk menentukan jalur keluaran sekarang tetapi Anda harus memeriksanya. Saya tidak yakin.

Pendapat saya juga untuk darknet. Saya pikir Anda hanya dapat beralih dengan ambang batas dengan perhitungan mAP? Baik ?

Jika saya ingat dengan benar, mAP memiliki satu parameter yang perlu didefinisikan oleh penulis. Ini adalah ambang dari 0 hingga 1 yang Anda putuskan apakah suatu gambar diprediksi dengan benar. Biasanya, ini diatur ke 0,5. Jadi jika rasio area berjalan di atas 0,5, itu berarti gambar yang benar.
Dan setelah itu Anda juga harus mendefinisikan Average Precision . Untuk menghitung rata-rata, Anda perlu mencari tahu berapa banyak presisi yang ada. Ternyata Anda juga dapat menentukan jumlah presisi. Biasanya, jumlah presisi diatur ke 11 sehingga Anda dapat menyusunnya dari 0, 0,1, 0,2, ..., 0,9, 1,0.

Saya tidak yakin apa yang saya bicarakan. Karena sebagian besar sudah saya lupakan. Anda harus mempelajarinya untuk memastikan bahwa saya benar. Tapi saya cukup yakin tentang angka 0.5 dan 11 . Saya hanya tidak tahu apa yang mereka sebut.

PS. Saya kembali untuk mencari slide tesis saya (ketika saya tahu apa artinya mAP), berikut adalah bagaimana saya menggambarkannya saat itu:
image

image

Variabel mana yang ingin Anda tentukan?

@srhtyldz Di darkflow sekitar setengah tahun yang lalu, ketika saya memulai utas ini, tidak mengizinkan saya untuk menentukan jalur folder keluaran. Jalur folder keluaran adalah jalur tempat gambar prediksi ditulis.
Jika saya ingat dengan benar, folder output diatur ke folder out di dalam folder dataset Anda.
Misalnya jika Anda memiliki beberapa gambar di dalam img/ , prediksinya akan berada di dalam img/out/ .
Di FloydHub , mereka tidak mengizinkan Anda untuk menulis output ke folder dataset. Jadi jika folder dataset adalah img/ , Anda tidak dapat membuat folder baru sebagai img/out karena Anda akan menemui izin yang ditolak.

Mungkin ini memungkinkan Anda untuk menentukan jalur keluaran sekarang tetapi Anda harus memeriksanya. Saya tidak yakin.

Pendapat saya juga untuk darknet. Saya pikir Anda hanya dapat beralih dengan ambang batas dengan perhitungan mAP? Baik ?

Jika saya ingat dengan benar, mAP memiliki satu parameter yang perlu didefinisikan oleh penulis. Ini adalah ambang dari 0 hingga 1 yang Anda putuskan apakah suatu gambar diprediksi dengan benar. Biasanya, ini diatur ke 0,5. Jadi jika rasio area berjalan di atas 0,5, itu berarti gambar yang benar.
Dan setelah itu Anda juga harus mendefinisikan Average Precision . Untuk menghitung rata-rata, Anda perlu mencari tahu berapa banyak presisi yang ada. Ternyata Anda juga dapat menentukan jumlah presisi. Biasanya, jumlah presisi diatur ke 11 sehingga Anda dapat menyusunnya dari 0, 0,1, 0,2, ..., 0,9, 1,0.

Saya tidak yakin apa yang saya bicarakan. Karena sebagian besar sudah saya lupakan. Anda harus mempelajarinya untuk memastikan bahwa saya benar. Tapi saya cukup yakin tentang angka 0.5 dan 11 . Saya hanya tidak tahu apa yang mereka sebut.

PS. Saya kembali untuk mencari slide tesis saya (ketika saya tahu apa artinya mAP), berikut adalah bagaimana saya menggambarkannya saat itu:
image

Terima kasih banyak . Saya akan meneliti mAP dan IoU. Saya mendapatkan hasilnya tetapi saya tidak dapat menafsirkannya. Dapatkah saya mengajukan satu pertanyaan lagi? apakah Anda menggunakan fungsi 'recall'? map dan fungsi recall memiliki fungsi yang sama atau tidak? apakah kamu punya ide_?

@srhtyldz mAP dihitung dari presisi sebagai fungsi recall. Jadi presisi dan daya ingat sudah disertakan. mAP adalah metrik evaluasi yang populer dan konvensional untuk tugas deteksi objek. Jadi tidak perlu melakukan recall atau presisi satu per satu. Hitung saja mAP dan jika tinggi maka itu berarti model Anda berkinerja baik.

@srhtyldz mAP dihitung dari presisi sebagai fungsi recall. Jadi presisi dan daya ingat sudah disertakan. mAP adalah metrik evaluasi yang populer dan konvensional untuk tugas deteksi objek. Jadi tidak perlu melakukan recall atau presisi satu per satu. Hitung saja mAP dan jika tinggi maka itu berarti model Anda berkinerja baik.

Saya mendapat 90,4% dari mAP. Saya pikir itu bekerja dengan baik.

@srhtyldz Itu sangat tinggi jika Anda memiliki banyak kelas. (Model populer pada dataset besar hanya melakukan sekitar 50-60%) Tetapi bahkan jika Anda hanya memiliki dua kelas, itu masih bagus.
Pastikan untuk memeriksa gambar yang diprediksi menggunakan mata manusia untuk memverifikasi apakah mAP masuk akal.

@srhtyldz Itu sangat tinggi jika Anda memiliki banyak kelas. (Model populer pada dataset besar hanya melakukan sekitar 50-60%) Tetapi bahkan jika Anda hanya memiliki dua kelas, itu masih bagus.
Pastikan untuk memeriksa gambar yang diprediksi menggunakan mata manusia untuk memverifikasi apakah mAP masuk akal.

Saya hanya memiliki satu kelas. Juga, saya menyimpan semua gambar dengan kotak pembatas.
Apakah Anda menggambar grafik mAP? Di Alex repo, ada bagan mAP dan saat Anda melatih model Anda, Anda harus meletakkan ' -map ' untuk mendapatkan bagan .Saya tidak memasukkan kata ini. Bahkan Anda meletakkannya , bagaimana Anda bisa mendapatkan bagan mAP? Apakah Anda mencobanya? juga apakah Anda mencoba fungsi 'valid'? apakah kamu tahu perbedaannya?
Saya tahu saya mengajukan banyak pertanyaan tetapi jawaban Anda sangat penting untuk tesis saya :).

Dari darknet , saya hanya mengevaluasi mAP menggunakan terminalnya saja dan mengambil snapshot dari konsol.
Saya tidak tahu tentang fungsi yang valid.
Untuk grafik mAP, dimungkinkan jika Anda menggunakan darkflow dan menggunakan repo mAP atas. Ada skrip yang menghasilkan animasi dan grafik.
Saya pikir repo mAP juga bekerja dengan darknet mungkin.

Dari darknet , saya hanya mengevaluasi mAP menggunakan terminalnya saja dan mengambil snapshot dari konsol.
Saya tidak tahu tentang fungsi yang valid.
Untuk grafik mAP, dimungkinkan jika Anda menggunakan darkflow dan menggunakan repo mAP atas. Ada skrip yang menghasilkan animasi dan grafik.
Saya pikir repo mAP juga bekerja dengan darknet mungkin.

Masalahnya adalah saya tidak tahu bagaimana animasi akan dijalankan. Saya mencoba melakukannya saat pelatihan tetapi saya tidak bisa mendapatkan animasi untuk peta. @alexeyAB mungkin akan membantu tentang ini.

Saya mendapat mAP hasil tes saya. Dari 56 gambar saya mendapatkan 48 gambar yang benar untuk pengujian saya. Saya memiliki empat kelas. Bagaimana membuat matriks kebingungan dari itu . Dapatkah seseorang membantu saya.

@srhtyldz Saya menggunakan /darknet detector map cfg/aerial.data cfg/test_tiny.cfg backup\my_yolov3_tiny_final.weights fungsi tapi saya tidak bisa mendapatkan skor atau grafik di akhir pelatihan. Bagaimana Anda mendapatkan skor mAP di darknet

@mustafabuyuk Berikan argumen -map ke ./darknet (darknet.exe). Ini akan muncul pada grafik di sekitar 1000 iterasi. Saya tidak yakin apakah itu diperlukan, tetapi saya juga memiliki set validasi gambar juga.

Adakah yang bisa punya ide? YOLOv5 menghitung mAP terhadap set data validasi selama pelatihan. Meskipun perintah mana yang dapat kita hitung terhadap dataset uji yang tidak terlihat (mAP, dan Classwise mAP)

@ off99555 Utas tampaknya ditutup. Apakah Anda mendapatkan jawabannya?
Saya memiliki satu set file Gambar dan Anotasi Yolo (dalam format txt) untuk validasi.

Bagaimana cara menggunakan argumen -map untuk memvalidasi Gambar untuk mendapatkan skor mAP? Apakah mungkin untuk mendapatkan matriks kebingungan dari ini?

@sandeeprepakula Baca jawaban saya langsung sebelum saya menutup masalah. Begitulah cara menghitung mAP.
Tetapi saya akan menyarankan lebih lanjut, jangan gunakan repo ini lagi. Saya belum bekerja dengan deteksi objek selama beberapa bulan sekarang jadi tidak yakin tentang repo mana yang terbaik tetapi dari melihat sekilas komit terakhir dari repo ini, itu pada Februari 2020. Apakah menurut Anda repo yang belum diperbarui selama setahun layak digunakan? Jika Anda terjebak pada sesuatu tidak ada yang akan membantu Anda. Pertimbangkan juga bagian komunitas saat memilih repo mana yang akan digunakan.

@off99555 Terima kasih atas sarannya

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

ShawnDing1994 picture ShawnDing1994  ·  4Komentar

borasy picture borasy  ·  3Komentar

ManojPabani picture ManojPabani  ·  4Komentar

LeeroyHannigan picture LeeroyHannigan  ·  4Komentar

Kowasaki picture Kowasaki  ·  4Komentar