강력한 분할을 위한 A-다발-이론적-관점
이것은 A-Sheaf-Theoretic-Perspective-for-Robust-Segmentation에 대한 작업에 대한 저장소입니다.
설명
이 저장소에는 개별 잠재 공간에서 모양 등분산을 적용하고 셀룰러 뭉치 이론을 사용하여 출력 분할 맵 토폴로지의 구성성을 모델링하고 구성 기반 손실을 적용함으로써 강력한 분할 모델을 교육하기 위한 코드가 포함되어 있습니다(자세한 내용은 논문 참조). 이 코드베이스에는 모델에 대한 교육 및 모델 코드가 포함되어 있습니다. 우리는 다양한 유형의 모델을 보유하고 있습니다. 우리는 논문에 설명된 대로 대조 기반 손실을 사용하여 등분산을 적용하는 모델을 가지고 있습니다. 대조 기본 손실을 사용하여 2면체 그룹(D4)에 등분산을 적용합니다. 또한 모델의 컨벌루션 커널을 정규 또는 환원 불가능한 그룹 표현으로 제한하여 등분성을 강화합니다.
시작하기
종속성
- python=3.7로 환경을 준비한 후, 종속성에 대해 "pip install -r 요구사항.txt" 명령을 사용하십시오.
데이터세트
- 3개의 csv 파일(train.csv, 유효성 검사.csv, test.csv)을 생성해야 합니다. train.csv에는 이미지 경로와 해당 분할이 포함된 세 개의 열('t2image','adcimage','t2label')이 있어야 합니다. 유효성 검사.csv 및 test.csv에는 이미지 경로와 해당 분할이 포함된 두 개의 열('t2image','t2label')이 있어야 합니다. 우리는 nifti 형식을 지원합니다. data/Prostate에서 전립선 데이터에 대한 예를 제공합니다.
- 원하는 대로 사전 처리된 데이터 세트를 자유롭게 학습할 수 있습니다. 우리는 전립선 데이터 세트에 대한 데이터 로더를 제공합니다.
- 전립선: 전립선 데이터세트는 NCI-ISBI13 Challenge 및 decathalon 데이터세트에서 획득되었습니다.
훈련/테스트.
- main.py와 함께 훈련/테스트 스크립트를 실행할 수 있습니다. 결과와 이미지를 저장하려면 학습, 검증, 테스트 csv 파일의 경로와 출력 디렉터리를 입력해야 합니다. main.py에서 볼 수 있는 데이터세트에 따라 다른 하이퍼 매개변수를 조정해야 합니다. 우리는 'ShapeVQUnet', 'HybridShapeVQUnet', 'HybridSE3VQUnet', '3DSE3VQUnet'의 4가지 모델을 보유하고 있습니다. 'ShapeVQUNet' 및 'HybridShapeVQUNet' 모델은 대비 기반 손실을 사용하여 잠재 공간을 D4 그룹에 대한 등변 모양 공간으로 제한합니다. 'ShapeVQUnet' 또는 'HybridShapeVQUnet' 모델을 선택하는 경우 --contrastive True 인수를 선택하고 그렇지 않으면 --contrastive False를 선택해야 합니다. 'ShapeVQUnet'은 3D 모델이고 'HybridShapeVQUnet'은 2D/3D 모델입니다. 'HybridSE3VQUNet' 및 '3DSE3VQUNet' 모델은 컨벌루션 커널을 SE3 그룹으로 제한합니다. 'HybridSE3VQUNet' 및 '3DSE3VQUNet' 중 하나를 선택하는 경우 일반('Regular') 그룹 표현을 원하는지 또는 축소 불가능한('Irreducible') 그룹 표현(--repr)을 원하는지 선택해야 합니다. 일반('일반') 그룹 표현을 선택하는 경우 그룹(--group)을 선택해야 합니다. 예를 들어 --group 4는 D4 그룹에 대한 등분산입니다. 'HybridSE3VQUnet' 및 '3DSE3VQUNet' 모델을 선택하는 경우 그룹에 있는 각 요소의 다중성(--다중성)도 선택해야 합니다. 모든 모델에 대해 셀룰러 다발 기반 손실(--topo_epoch)을 포함할 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])
참고자료