ในการซื้อคืนนี้ เราได้จัดเตรียมโค้ดสำหรับเอกสาร Adaptive Boosting for Domain Adaptation: Towards Robust Predictions in Scene Segmentation
[กระดาษ] [中文解读]
ลิงก์ DeepLab ดั้งเดิมของ ucmerced ล้มเหลว กรุณาใช้ลิงค์ต่อไปนี้
[Google ไดรฟ์] https://drive.google.com/file/d/1BMTTMCNkV98pjZh_rU0Pp47zeVqF3MEc/view?usp=share_link
[หนึ่งไดรฟ์] https://1drv.ms/u/s!Avx-MJllNj5b3SqR7yurCxTgIUOK?e=A1dq3m
หรือใช้
pip install gdown
pip install --upgrade gdown
gdown 1BMTTMCNkV98pjZh_rU0Pp47zeVqF3MEc
เมื่อนำวิธีนี้ไปใช้กับฟิลด์อื่นๆ เราขอแนะนำให้ปรับน้ำหนักการสุ่มตัวอย่างด้วยอุณหภูมิเพื่อให้เหมาะกับงานและชุดข้อมูลของคุณ ในบทความนี้ เราไม่เปลี่ยนแปลง และคงไว้เป็น 1
ในการทดลองล่าสุดของเรา เราสามารถได้รับประสิทธิภาพที่ดีขึ้น 49.72% (MRNet+ของเรา) มากกว่าตัวเลขที่รายงานในรายงาน เราคิดว่าเมื่อโมเดลรวมมาบรรจบกัน ตัวอย่าง adboost จะอัปเดตช้า ซึ่งทำให้ประสิทธิภาพลดลงด้วย หากเราให้น้ำหนักมากขึ้นกับสแน็ปช็อตล่าสุดสำหรับการอัปเดตตัวอย่าง มันจะทำงานได้ดีขึ้น
python train_ms.py --snapshot-dir ./snapshots/ReRUN_Adaboost_SWA_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_swa0_recent --drop 0.1 --warm-up 5000 --batch-size 2 --learning-rate 2e-4 --crop-size 1024,512 --lambda-seg 0.5 --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 --lambda-me-target 0 --lambda-kl-target 0.1 --norm-style gn --class-balance --only-hard-label 80 --max-value 7 --gpu-ids 0 --often-balance --use-se --swa --swa_start 0 --adaboost --recent
ดาวน์โหลด [GTA5] และ [Cityscapes] เพื่อเรียกใช้โค้ดพื้นฐาน หรือคุณสามารถดาวน์โหลดชุดข้อมูลพิเศษสองชุดจาก [SYNTHIA] และ [OxfordRobotCar]
ดาวน์โหลดชุดข้อมูล GTA5
ดาวน์โหลดชุดข้อมูล SYNTHIA SYNTHIA-RAND-CITYSCAPES (CVPR16)
ดาวน์โหลดชุดข้อมูล Cityscapes
ดาวน์โหลดชุดข้อมูล Oxford RobotCar
โฟลเดอร์ข้อมูลมีโครงสร้างดังนี้:
├── data/
│ ├── Cityscapes/
| | ├── data/
| | ├── gtFine/
| | ├── leftImg8bit/
│ ├── GTA5/
| | ├── images/
| | ├── labels/
| | ├── ...
│ ├── synthia/
| | ├── RGB/
| | ├── GT/
| | ├── Depth/
| | ├── ...
│ └── Oxford_Robot_ICCV19
| | ├── train/
| | ├── ...
ระยะที่ 1: (ประมาณ 49.0%)
python train_ms.py --snapshot-dir ./snapshots/ReRUN_Adaboost_SWA_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_swa0 --drop 0.1 --warm-up 5000 --batch-size 2 --learning-rate 2e-4 --crop-size 1024,512 --lambda-seg 0.5 --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 --lambda-me-target 0 --lambda-kl-target 0.1 --norm-style gn --class-balance --only-hard-label 80 --max-value 7 --gpu-ids 0 --often-balance --use-se --swa --swa_start 0 --adaboost
สร้างป้ายกำกับหลอก:
python generate_plabel_cityscapes.py --restore ./snapshots/ReRUN_Adaboost_SWA_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_swa0/GTA5_40000_average.pth
Stage-II (พร้อมฉลากหลอกซ้ำ): (ประมาณ 50.9%)
python train_ft.py --snapshot-dir ./snapshots/Adaboost_1280x640_restore_ft48_GN_batchsize2_960x480_pp_ms_me0_classbalance7_kl0_lr4_drop0.2_seg0.5_BN_80_255_0.8_Noaug_swa2.5W_t97 --restore-from ./snapshots/ReRUN_Adaboost_SWA_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_swa0/GTA5_40000_average.pth --drop 0.2 --warm-up 5000 --batch-size 2 --learning-rate 4e-4 --crop-size 960,480 --lambda-seg 0.5 --lambda-adv-target1 0 --lambda-adv-target2 0 --lambda-me-target 0 --lambda-kl-target 0 --norm-style gn --class-balance --only-hard-label 80 --max-value 7 --gpu-ids 0 --often-balance --use-se --input-size 1280,640 --train_bn --autoaug False --swa --adaboost --swa_start 25000 --threshold 97
ด่าน-I:
python train_ms_synthia.py --snapshot-dir ./snapshots/AdaBoost_SWA_SY_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_power0.5 --drop 0.1 --warm-up 5000 --batch-size 2 --learning-rate 2e-4 --crop-size 1024,512 --lambda-seg 0.5 --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 --lambda-me-target 0 --lambda-kl-target 0.1 --norm-style gn --class-balance --only-hard-label 80 --max-value 7 --gpu-ids 0 --often-balance --use-se --swa --swa_start 0 --adaboost
สร้างป้ายกำกับหลอก:
python generate_plabel_cityscapes_SYNTHIA.py --restore ./snapshots/AdaBoost_SWA_SY_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_power0.5/GTA5_50000_average.pth
ด่าน-II:
python train_ft_synthia.py --snapshot-dir ./snapshots/Cosine_Adaboost_SY_1280x640_restore_ft_GN_batchsize8_512x256_pp_ms_me0_classbalance7_kl0.1_lr8_drop0.1_seg0.5_BN_255_Noaug_t777_swa2.5W --restore ./snapshots/AdaBoost_SWA_SY_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_power0.5/GTA5_50000_average.pth --drop 0.1 --warm-up 5000 --batch-size 8 --learning-rate 8e-4 --crop-size 512,256 --lambda-seg 0.5 --lambda-adv-target1 0 --lambda-adv-target2 0 --lambda-me-target 0 --lambda-kl-target 0 --norm-style gn --class-balance --only-hard-label 50 --max-value 7 --gpu-ids 0 --often-balance --use-se --input-size 1280,640 --autoaug False --swa --swa_start 25000 --threshold 777 --adaboost --train_bn --cosine
Stage-I: (ประมาณ 73.80%) สูงกว่ากระดาษ
python train_ms_robot.py --snapshot-dir ./snapshots/Adaboost_SWA3W_Robot_SE_GN_batchsize6_adapative_kl0.1_sam_lr6 --drop 0.1 --warm-up 5000 --batch-size 6 --learning-rate 6e-4 --crop-size 800,400 --lambda-seg 0.5 --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 --lambda-me-target 0 --lambda-kl-target 0.1 --norm-style gn --class-balance --only-hard-label 80 --max-value 7 --gpu-ids 0,1,2 --often-balance --use-se --swa --swa_start 30000 --adaboost --sam
สร้างป้ายกำกับหลอก:
python generate_plabel_robot.py --restore ./snapshots/Adaboost_SWA3W_Robot_SE_GN_batchsize6_adapative_kl0.1_sam_lr6/GTA5_70000_average.pth
ด่าน II: (ประมาณ 75.62%)
python train_ft_robot.py --snapshot-dir ./snapshots/Adaboost_0.9RB_b3_lr3_800x432_97_swa0W_T80 --restore-from ./snapshots/Adaboost_SWA3W_Robot_SE_GN_batchsize6_adapative_kl0.1_sam_lr6/GTA5_70000_average.pth --drop 0.1 --warm-up 5000 --batch-size 3 --learning-rate 3e-4 --crop-size 800,432 --lambda-seg 0.5 --lambda-adv-target1 0 --lambda-adv-target2 0 --lambda-me-target 0 --lambda-kl-target 0 --norm-style gn --class-balance --only-hard-label 50 --max-value 7 --gpu-ids 0,1,2 --often-balance --use-se --input-size 1280,960 --train_bn --adaboost --swa --swa_start 0 --threshold 0.8 --autoaug False
ระยะที่ 1: (ประมาณ 39.5%)
python train_ms.py --snapshot-dir ./snapshots/255VGGBN_Adaboost_SWA_SE_GN_batchsize3_1024x512_pp_ms_me0_classbalance7_kl0.1_lr3_drop0.1_seg0.5_swa0_auto --drop 0.1 --warm-up 5000 --batch-size 3 --learning-rate 3e-4 --crop-size 1024,512 --lambda-seg 0.5 --lambda-adv-target1 0.0002 --lambda-adv-target2 0.001 --lambda-me-target 0 --lambda-kl-target 0.1 --norm-style gn --class-balance --only-hard-label 80 --max-value 7 --gpu-ids 0,1,2 --often-balance --use-se --swa --swa_start 0 --adaboost --model DeepVGG --autoaug
python evaluate_cityscapes.py --restore-from ./snapshots/ReRUN_Adaboost_SWA_SE_GN_batchsize2_1024x512_pp_ms_me0_classbalance7_kl0.1_lr2_drop0.1_seg0.5_swa0/GTA5_40000_average.pth
โมเดลที่ผ่านการฝึกอบรมมีจำหน่ายที่ [รอ]
SY
มีไว้สำหรับ SYNTHIA-to-CityscapesRB
นั้นมีไว้สำหรับ Cityscapes-to-Robot CarCore code นั้นค่อนข้างง่าย และสามารถนำไปใช้กับงานอื่นๆ ได้โดยตรง
ตัวอย่างข้อมูลที่ปรับเปลี่ยนได้: https://github.com/layumi/AdaBoost_Seg/blob/master/train_ms.py#L429-L436
การรวมกลุ่มนักศึกษา: https://github.com/layumi/AdaBoost_Seg/blob/master/train_ms.py#L415-L427
เราขอขอบคุณผลงานดีๆ ดังนี้:
@article { zheng2021adaboost ,
title = { Adaptive Boosting for Domain Adaptation: Towards Robust Predictions in Scene Segmentation } ,
author = { Zheng, Zhedong and Yang, Yi } ,
journal = { IEEE Transactions on Image Processing } ,
doi = { 10.1109/TIP.2022.3195642 } ,
note = { mbox{doi}:url{10.1109/TIP.2022.3195642} } ,
year = { 2021 }
}