Perspektif-Teoretis-Sheaf-untuk-Segmentasi-Kuat
Ini adalah repo untuk pekerjaan kami pada A-Sheaf-Theoretic-Perspective-for-Robust-Segmentation
Keterangan
Repo ini berisi kode untuk melatih model segmentasi yang kuat dengan menerapkan kesetaraan bentuk dalam ruang laten diskrit dan menggunakan teori berkas seluler untuk memodelkan komposisi topologi peta segmentasi keluaran dan menerapkan kerugian berbasis komposisi (lihat makalah untuk detail lebih lanjut). Basis kode ini berisi kode pelatihan dan model untuk model kami. Kami memiliki berbagai jenis model. Kami memiliki model yang menerapkan kesetaraan menggunakan kerugian berbasis kontras seperti yang dijelaskan dalam makalah kami. Kami menerapkan kesetaraan pada grup dihedral (D4) menggunakan kerugian basis kontrastif kami. Kami juga menerapkan kesetaraan dengan membatasi kernel konvolusional dalam model kami menjadi representasi grup reguler atau tidak dapat direduksi.
Memulai
Ketergantungan
- Harap siapkan lingkungan dengan python=3.7, lalu gunakan perintah "pip install -r requiremen.txt" untuk dependensinya.
Kumpulan data
- Anda perlu membuat 3 file csv (train.csv, validation.csv, test.csv). Train.csv harus memiliki tiga kolom ('t2image','adcimage','t2label') yang berisi jalur ke gambar dan segmentasi yang sesuai. validation.csv dan test.csv harus memiliki dua kolom ('t2image','t2label') yang berisi jalur ke gambar dan segmentasi yang sesuai. Kami mendukung format nifti. Kami memberikan contoh untuk data Prostat di data/Prostat.
- Anda bebas memilih untuk melatih kumpulan data pilihan Anda, yang telah diproses sebelumnya sesuai keinginan. Kami telah menyediakan pemuat data untuk kumpulan data prostat.
- Prostat: Kumpulan data prostat diperoleh dari kumpulan data NCI-ISBI13 Challenge dan decathalon.
Pelatihan/Pengujian.
- Anda dapat menjalankan skrip pelatihan/pengujian bersama dengan main.py. Anda harus memasukkan jalur ke file csv kereta, validasi dan pengujian serta direktori keluaran untuk menyimpan hasil dan gambar. Anda perlu menyesuaikan hyper-parameter lainnya sesuai dengan dataset Anda yang dapat dilihat di main.py. Kami memiliki 4 model:'ShapeVQUnet', 'HybridShapeVQUnet', 'HybridSE3VQUnet', '3DSE3VQUnet'. Model 'ShapeVQUnet' dan 'HybridShapeVQUnet' membatasi ruang laten ke ruang bentuk ekuivalen ke grup D4 menggunakan kerugian berbasis kontras. Anda harus memilih argumen --contrastive True jika Anda memilih model 'ShapeVQUnet' atau 'HybridShapeVQUnet' dan memilih --contrastive False jika tidak. 'ShapeVQUnet' adalah model 3D sedangkan 'HybridShapeVQUnet' adalah model 2D/3D. Model 'HybridSE3VQUnet' dan '3DSE3VQUnet' membatasi kernel konvolusional ke grup SE3. Jika Anda memilih salah satu 'HybridSE3VQUnet' dan '3DSE3VQUnet', Anda harus memilih apakah Anda menginginkan representasi grup reguler ('Regular') atau irreducible ('Irreducible') (--repr) . Jika Anda memilih representasi grup reguler ('Regular'), maka Anda harus memilih grup (--group) misalnya --group 4 adalah ekivariansi dengan grup D4. Anda juga harus memilih multiplisitas (--multiplisitas) setiap elemen dalam grup jika memilih model 'HybridSE3VQUnet' dan '3DSE3VQUnet'. Untuk semua model, Anda juga harus memilih berapa epoch yang ingin Anda masukkan berdasarkan kerugian seluler (--topo_epoch) Di bawah ini adalah contoh untuk data Prostat
python main.py --modeltype 'HybridShapeVQUnet' --contrastive True --topo_epoch 25 --training_data '.../Sheaves_for_Segmentation/data/Prostate/train.csv' --validation_data '.../Sheaves_for_Segmentation/data/Prostate/validation.csv' --test_data '.../Sheaves_for_Segmentation/data/Prostate/test.csv', --output_directory '.../Sheaves_for_Segmentation/data/Prostate/output/'
Penulis
Nama kontributor dan info kontak
Ainkaran Santhirasekaram ([email protected])
Referensi
- escnn
- Kerugian Segmentasi Homologi yang Persisten