Qsingle / imed_vision

Apache License 2.0
21 stars 1 forks source link

DualLearning #3

Open yamyCD opened 8 months ago

yamyCD commented 8 months ago

Hi, thanks for sharing, it's a very good study. But when I tried to replicate the code, I found that there was no DualLearning file in the project.

Qsingle commented 8 months ago

Thank you for your issue, you only - - need to set the super_reso=True, sr_seg_fusion=True, before=True to use the D2SL as the framework. Dual learning is one work under study, we will release it in the future.

Lin-dashuai commented 6 months ago

Hi, the sharing is very good.

In the experimental results of lesion segmentation tasks in your paper, DeepLabV3+ performed the best.

But in the corresponding vessel_segmentation.json, should I set model_name=DeepLabV3+, super_reso=true, sr_seg_fusion=true?

Are there any other settings that need to be adjusted?

Qsingle commented 6 months ago

Hi, the sharing is very good.

In the experimental results of lesion segmentation tasks in your paper, DeepLabV3+ performed the best.

But in the corresponding vessel_segmentation.json, should I set model_name=DeepLabV3+, super_reso=true, sr_seg_fusion=true?

Are there any other settings that need to be adjusted?

Thank you. If you want to use the deeplabv3+, I suggest you to set model_name=deeplabv3plus, super_reso=true,sr_seg_fusion=true block_name="resnet50", pretrain=true. Then you can use the DeepLabV3+ that the backbone is resnet50.

Lin-dashuai commented 1 month ago

What does 'before', 'divide' and 'fusion' mean in the code? I couldn't find any corresponding description in your paper.

In the JSON file, does 'image_size' refer to before or after super-resolution? If 'image_size = (512, 512) ' and 'upscale_rate = 4', does it mean that no matter what the resolution of the input image is, it's resized to 128x128 before entering the encoder, and the outputs from both decoder-seg and decoder-sr are 512x512?

Looking forward to your reply.

Qsingle commented 1 month ago

What does 'before', 'divide' and 'fusion' mean in the code? I couldn't find any corresponding description in your paper.

In the JSON file, does 'image_size' refer to before or after super-resolution? If 'image_size = (512, 512) ' and 'upscale_rate = 4', does it mean that no matter what the resolution of the input image is, it's resized to 128x128 before entering the encoder, and the outputs from both decoder-seg and decoder-sr are 512x512?

Looking forward to your reply.

Thank you for your attention. The super_resolution means to allow the model to use the super-resolution. The before means using the shared feature extraction module before the task head, and the sr_seg_fusion is used to control the w/ or w/o of the shared feature extraction module. The image_size and upscale_rate depend on the code you used; if you use our code, you are right.

123abcgit commented 3 weeks ago

Hi, thanks for sharing the good study. But when I tried to replicate the code based on Cityscape dataset, the error "IndexError: Target 21 is out of bounds " when calculating segloss. Is there any preprocessing required for the downloaded data? Looking forward to your reply.

Qsingle commented 3 weeks ago

Hi, thanks for sharing the good study. But when I tried to replicate the code based on Cityscape dataset, the error "IndexError: Target 21 is out of bounds " when calculating segloss. Is there any preprocessing required for the downloaded data? Looking forward to your reply.

Thank you for your attention. You need to convert the data to 19 classes following the script, the trainId can help you to get the right class id.

123abcgit commented 3 weeks ago

Hi, thanks for sharing the good study. But when I tried to replicate the code based on Cityscape dataset, the error "IndexError: Target 21 is out of bounds " when calculating segloss. Is there any preprocessing required for the downloaded data? Looking forward to your reply.

Thank you for your attention. You need to convert the data to 19 classes following the script, the trainId can help you to get the right class id.

Thanks very much for your reply. I have converted the data to 19 classes and run the code with settings below: "init_lr" : 0.01. "momentum" :0.9, "weight_decay": 5e-4, "epochs": 108, "lr_sche": "poly", "Image_s1ze":[512, 1024] "super_reso": true, "fusion": true, 'num_classes": 19, "gpu_index": "0” "model_name": "deeplabv3plus" "backbone":"resnet101" "channel": 3, "upscale_rate": 2, "num_workers": 4, "ckpt_dir": "./ckpt", "dataset":"cityscape' "batch_size": 2 Now it has been trained for 60 epochs (the total is 108), but the best iou is only 0.5790. I wonder if this is normal or there is anything wrong with my settings. Sorry to bother you again. Looking forward to your reply.

Qsingle commented 3 weeks ago

Hi, thanks for sharing the good study. But when I tried to replicate the code based on Cityscape dataset, the error "IndexError: Target 21 is out of bounds " when calculating segloss. Is there any preprocessing required for the downloaded data? Looking forward to your reply.

Thank you for your attention. You need to convert the data to 19 classes following the script, the trainId can help you to get the right class id.

Thanks very much for your reply. I have converted the data to 19 classes and run the code with settings below: "init_lr" : 0.01. "momentum" :0.9, "weight_decay": 5e-4, "epochs": 108, "lr_sche": "poly", "Image_s1ze":[512, 1024] "super_reso": true, "fusion": true, 'num_classes": 19, "gpu_index": "0” "model_name": "deeplabv3plus" "backbone":"resnet101" "channel": 3, "upscale_rate": 2, "num_workers": 4, "ckpt_dir": "./ckpt", "dataset":"cityscape' "batch_size": 2 Now it has been trained for 60 epochs (the total is 108), but the best iou is only 0.5790. I wonder if this is normal or there is anything wrong with my settings. Sorry to bother you again. Looking forward to your reply.

Please make sure the pretrain weights is loaded.