A-Sheaf-ทฤษฎี-มุมมองสำหรับ-การแบ่งส่วนที่แข็งแกร่ง
นี่คือ repo สำหรับงานของเราเกี่ยวกับ A-Sheaf-Theoretic-Perspective-for-Robust-Segmentation
คำอธิบาย
การซื้อคืนนี้มีโค้ดสำหรับการฝึกโมเดลการแบ่งส่วนที่มีประสิทธิภาพโดยการบังคับใช้ความแปรปรวนของรูปร่างในพื้นที่แฝงที่ไม่ต่อเนื่อง และใช้ทฤษฎีมัดเซลล์เพื่อสร้างแบบจำลององค์ประกอบของโทโพโลยีของแผนผังการแบ่งส่วนเอาต์พุต และบังคับใช้การสูญเสียตามองค์ประกอบ (ดูเอกสารสำหรับรายละเอียดเพิ่มเติม) โค้ดเบสนี้มีโค้ดการฝึกอบรมและโค้ดโมเดลสำหรับโมเดลของเรา เรามีรูปแบบที่แตกต่างกัน เรามีแบบจำลองที่บังคับใช้ความเท่าเทียมกันโดยใช้การสูญเสียที่มีพื้นฐานเชิงเปรียบเทียบตามที่อธิบายไว้ในรายงานของเรา เราบังคับใช้ความเท่าเทียมกับกลุ่มไดฮีดรัล (D4) โดยใช้การสูญเสียฐานที่ตัดกันของเรา นอกจากนี้เรายังบังคับใช้ความเท่าเทียมกันโดยจำกัดเคอร์เนลแบบหมุนวนในแบบจำลองของเราให้เป็นตัวแทนกลุ่มแบบปกติหรือแบบลดไม่ได้
เริ่มต้นใช้งาน
การพึ่งพาอาศัยกัน
- โปรดเตรียมสภาพแวดล้อมด้วย python=3.7 จากนั้นใช้คำสั่ง "pip install -r needs.txt" สำหรับการขึ้นต่อกัน
ชุดข้อมูล
- คุณจะต้องสร้างไฟล์ csv 3 ไฟล์ (train.csv, validation.csv, test.csv) train.csv ควรมีสามคอลัมน์ ('t2image','adcimage','t2label') ที่มีเส้นทางไปยังรูปภาพและการแบ่งส่วนที่เกี่ยวข้อง validation.csv และ test.csv ควรมีสองคอลัมน์ ('t2image','t2label') ที่มีเส้นทางไปยังรูปภาพและการแบ่งส่วนที่เกี่ยวข้อง เรารองรับรูปแบบ nifti เรายกตัวอย่างข้อมูลต่อมลูกหมากในข้อมูล/ต่อมลูกหมาก
- คุณมีอิสระที่จะเลือกฝึกอบรมชุดข้อมูลที่คุณเลือก โดยประมวลผลล่วงหน้าตามที่คุณต้องการ เราได้จัดเตรียมตัวโหลดข้อมูลสำหรับชุดข้อมูลต่อมลูกหมาก
- ต่อมลูกหมาก: ชุดข้อมูลต่อมลูกหมากได้มาจากชุดข้อมูล NCI-ISBI13 Challenge และ decathalon
การฝึกอบรม/การทดสอบ
- คุณสามารถรันสคริปต์การฝึกอบรม/การทดสอบร่วมกับ main.py คุณต้องป้อนเส้นทางไปยังรถไฟ การตรวจสอบและทดสอบไฟล์ CSV และไดเร็กทอรีเอาต์พุตเพื่อบันทึกผลลัพธ์และรูปภาพ คุณจะต้องปรับไฮเปอร์พารามิเตอร์อื่นๆ ตามชุดข้อมูลของคุณซึ่งสามารถดูได้ใน main.py เรามี 4 รุ่น:'ShapeVQUnet', 'HybridShapeVQUnet', 'HybridSE3VQUnet', '3DSE3VQUnet' โมเดล 'ShapeVQUnet' และ 'HybridShapeVQUnet' จะจำกัดพื้นที่แฝงให้เป็นพื้นที่รูปร่างที่เทียบเท่ากับกลุ่ม D4 โดยใช้การสูญเสียที่อิงเชิงเปรียบเทียบ คุณควรเลือกการโต้แย้ง --contrastive True หากคุณเลือกโมเดล 'ShapeVQUnet' หรือ 'HybridShapeVQUnet' และเลือก --contrastive False เป็นอย่างอื่น 'ShapeVQUnet' เป็นโมเดล 3 มิติ ในขณะที่ 'HybridShapeVQUnet' เป็นโมเดล 2D/3D โมเดล 'HybridSE3VQUnet' และ '3DSE3VQUnet' จะจำกัดเคอร์เนล Convolutionals ให้กับกลุ่ม SE3 หากคุณเลือกหนึ่ง 'HybridSE3VQUnet' และ '3DSE3VQUnet' คุณจะต้องเลือกว่าคุณต้องการการแสดงกลุ่มแบบปกติ ('ปกติ') หรือแบบลดไม่ได้ ('Irreducible') (--repr) หากคุณเลือกตัวแทนกลุ่มปกติ ('ปกติ') คุณจะต้องเลือกกลุ่ม (--กลุ่ม) เช่น --กลุ่ม 4 มีความเทียบเท่ากับกลุ่ม D4 คุณต้องเลือกหลายหลาก (--หลายหลาก) ของแต่ละองค์ประกอบในกลุ่มหากใครเลือกโมเดล 'HybridSE3VQUnet' และ '3DSE3VQUnet' สำหรับทุกรุ่น คุณต้องเลือกหลังจากจำนวนยุคที่คุณต้องการรวมการสูญเสียตามมัดเซลล์ (--topo_epoch) ด้านล่างนี้คือตัวอย่างสำหรับข้อมูลต่อมลูกหมาก
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/'
ผู้เขียน
ชื่อผู้ร่วมให้ข้อมูลและข้อมูลการติดต่อ
อั๋นคารัน สันธีเรศการาม ([email protected])
อ้างอิง
- escnn
- การสูญเสียการแบ่งส่วนที่คล้ายคลึงกันแบบถาวร