CD-Buffer: Complementary Dual-Buffer Framework for Test-Time Adaptation in Adverse Weather Object Detection
Organizations: Yonsei University · Korea Institute of Science and Technology
Abstract
Test-Time Adaptation (TTA) enables real-time adaptation to domain shifts without off-line retraining. Recent TTA methods have predominantly explored additive approaches that introduce lightweight modules for feature refinement. Recently, a subtractive approach that removes domain-sensitive channels has emerged as an alternative direction. We observe that these paradigms exhibit complementary effectiveness patterns: subtractive methods excel under severe shifts by removing corrupted features, while additive methods are effective under moderate shifts requiring refinement. However, each paradigm operates effectively only within limited shift severity ranges, failing to generalize across diverse corruption levels. This leads to the following question: can we adaptively balance both strategies based on measured feature-level domain shift? We propose CD-Buffer, a novel complementary dual-buffer framework where subtractive and additive mechanisms operate in opposite yet coordinated directions driven by a unified discrepancy metric. Our key innovation lies in the discrepancy-driven coupling: Our framework couples removal and refinement through a unified discrepancy metric, automatically balancing both strategies based on feature-level shift severity. This establishes automatic channel-wise balancing that adapts differentiated treatment to heterogeneous shift magnitudes without manual tuning. Extensive experiments on KITTI, Cityscapes, and ACDC datasets demonstrate state-of-the-art performance, consistently achieving superior results across diverse weather conditions and severity levels.
Figures & tables
| KITTI fog | KITTI rain | Cityscapes foggy | ||||||
|---|---|---|---|---|---|---|---|---|
| corruption/severity | fog/50m | fog/75m | fog/150m | rain/200mm | rain/100mm | rain/75mm | fog/0.02 | fog/0.01 |
| Direct Test | 21.27 | 30.84 | 50.45 | 47.11 | 65.32 | 69.03 | 11.87 | 18.38 |
| Buffer TTA [ 15 ] | 23.21 | 33.12 | 52.50 | 50.96 | 69.28 | 73.43 | 14.67 | 21.53 |
| Pruning TTA [ 33 ] | 33.97 | 42.83 | 58.58 | 50.94 | 65.42 | 69.27 | 17.39 | 20.90 |
| ActMAD [ 20 ] | 39.65 | 49.95 | 60.18 | 56.37 | 62.94 | 64.63 | 16.53 | 21.74 |
| WHW [ 37 ] | 34.38 | 42.91 | 63.54 | 61.17 | 73.15 | 74.33 | 14.72 | 20.98 |
| Cityscapes ACDC | ||||
|---|---|---|---|---|
| corruption | fog | snow | rain | night |
| Direct Test | 16.50 | 11.04 | 7.82 | 4.83 |
| Buffer TTA [ 15 ] | 24.16 | 17.18 | 11.70 | 6.98 |
| Pruning TTA [ 33 ] | 19.76 | 14.93 | 11.59 | 6.39 |
| ActMAD [ 20 ] | 18.39 | 10.56 | 9.78 | 5.56 |
| WHW [ 37 ] | 23.41 | 16.99 | 12.52 | 6.73 |
| KITTI KITTI fog (50m 75m 150m) | |||||||||||||
| Round1 | Round2 | Round5 | Round10 | Average | |||||||||
| 50m | 75m | 150m | 50m | 75m | 150m | 50m | 75m | 150m | 50m | 75m | 150m | ||
| Direct Test | 21.27 | 30.84 | 50.45 | 21.27 | 30.84 | 50.45 | 21.27 | 30.84 | 50.45 | 21.27 | 30.84 | 50.45 | 34.19 |
| Buffer TTA [ 15 ] | 22.85 | 32.48 | 52.11 | 23.56 | 32.45 | 52.24 | 24.15 | 34.52 | 54.06 | 27.65 | 38.93 | 58.85 | 37.82 |
| Pruning TTA [ 33 ] | 24.45 | 39.45 | 60.15 | 30.09 | 43.78 | 62.02 | 33.96 | 44.97 | 62.05 | 32.60 | 43.07 | 57.79 | 44.53 |
| ActMAD [ 20 ] | 42.07 | 54.55 | 64.65 | 42.21 | 52.31 | 61.03 | 38.87 | 47.71 | 54.11 | 34.22 | 41.41 | 46.66 | 48.32 |
| BN layer | Subtractive | Additive | Grad scaling | mAP@50 | |
| – | ✓ | – | – | – | 8.69 |
| – | ✓ | ✓ | – | – | 15.69 |
| ✓ | ✓ | ✓ | – | – | 16.81 |
| ✓ | ✓ | – | ✓ | – | 18.66 |
| ✓ | ✓ | ✓ | ✓ | – | 18.74 |
| – | ✓ | ✓ | ✓ | ✓ | 18.97 |
| KITTI fog | KITTI rain | Cityscapes foggy | ||||||
| corruption/severity | fog/50m | fog/75m | fog/150m | rain/200mm | rain/100mm | rain/75mm | fog/0.02 | fog/0.01 |
| Ours | 44.80 | 56.06 | 68.42 | 63.22 | 71.40 | 73.03 | 18.39 | 21.79 |
| Stage 4 | 36.91 | 44.69 | 58.79 | 53.65 | 65.11 | 67.19 | 12.50 | 17.25 |
| Stage 3 | 42.19 | 50.89 | 65.64 | 62.21 | 70.70 | 72.05 | 17.48 | 22.51 |
| Stage 2 | 43.28 | 53.99 | 67.26 | 63.09 | 71.39 | 72.58 | 17.94 | 20.63 |
| Stage 1(Ours-Light) | 42.51 | 52.04 | 66.95 | 61.85 | 70.88 | 73.08 | 18.57 | 22.49 |
| KITTI KITTI fog (50m 75m 150m) | |||||||||||||
| Round1 | Round2 | Round5 | Round10 | Average | |||||||||
| 50m | 75m | 150m | 50m | 75m | 150m | 50m | 75m | 150m | 50m | 75m | 150m | ||
| Ours | 34.90 | 52.70 | 69.93 | 44.51 | 57.29 | 70.72 | 46.53 | 58.30 | 68.02 | 45.40 | 56.14 | 63.51 | 55.66 |
| Ours-Light | 30.18 | 49.10 | 67.92 | 40.36 | 53.52 | 69.14 | 45.52 | 58.02 | 70.24 | 47.20 | 59.54 | 68.49 | 54.94 |
| Cityscapes ACDC | ||||
|---|---|---|---|---|
| corruption | fog | snow | rain | night |
| Ours | 24.45 | 15.41 | 13.71 | 8.92 |
| Ours-Light | 24.15 | 16.97 | 15.15 | 8.18 |
| FPS | |
|---|---|
| Direct Test | 73.24 |
| Buffer TTA | 33.69 |
| Pruning TTA | 40.62 |
| ActMAD | 35.59 |
| WHW | 31.38 |
| Ours | 15.59 |
| Fog | Buffer TTA (Add) | Pruning TTA (Sub) | Parallel | Ours |
|---|---|---|---|---|
| 30m (Severe) | 14.54 | 23.89 | 18.58 ( +4.04 / -5.31 ) | 33.04 ( +18.50 / +9.15 ) |
| 375m (Mild) | 73.70 | 70.60 | 72.11 ( -1.59 / +1.51 ) | 74.97 ( +1.27 / +4.37 ) |
| 30m | 50m | 75m | 150m | |
|---|---|---|---|---|
| w/o Sub | 31.88(-1.18) | 44.51(-1.15) | 55.67(-0.81) | 67.88(-0.45) |
| w/o Add | 32.96(-0.10) | 45.22(-0.44) | 55.18(-1.30) | 65.75(-2.58) |
| Full | 33.06 | 45.66 | 56.48 | 68.33 |
| L1 | L2 | Cosine | |
| mAP50 | 63.61 | 63.17 | 63.50 |
| Direct Test | ActMAD | WHW | Ours | |
|---|---|---|---|---|
| 200mm | 15.30 | 24.81 | 24.90 | 28.05 |
| 100mm | 27.37 | 35.55 | 32.65 | 36.93 |
| 75mm | 31.88 | 38.61 | 38.71 | 40.06 |
| Direct Test | Buffer TTA | Pruning TTA | ActMAD | WHW | Ours | |
|---|---|---|---|---|---|---|
| Gaussian | 8.87 | 11.69 | 31.60 | 40.14 | 23.15 | 43.43 |
| Jpeg | 65.66 | 70.65 | 66.02 | 62.65 | 72.45 | 70.59 |
| Motion | 47.81 | 51.55 | 63.49 | 63.74 | 64.49 | 72.37 |
| Defocus | 52.6 | 57.14 | 63.27 | 61.81 | 66.77 | 70.7 |
| Direct Test | Buffer TTA | Pruning TTA | ActMAD | WHW | Ours | |
|---|---|---|---|---|---|---|
| 30m | 12.37 | 14.54 | 23.89 | 28.31 | 14.79 | 33.04 |
| 375m | 69.57 | 73.70 | 70.60 | 65.55 | 72.73 | 74.97 |
| 750m | 74.67 | 78.09 | 74.89 | 68.07 | 77.65 | 78.58 |
Test-Time Adaptation
Test-time adaptation updates or recalibrates pretrained models at inference to handle distribution shifts, often without target labels.
See all 318 papers