Dynamic Pre-training: Towards Efficient and Scalable All-in-One Image Restoration
<|reference_start|>Dynamic Pre-training: Towards Efficient and Scalable All-in-One Image Restoration: All-in-one image restoration tackles different types of degradations with a unified model instead of having task-specific, non-generic models for each degradation. The requirement to tackle multiple degradations using the same model can lead to high-complexity designs with fixed configuration that lack the adaptability to more efficient alternatives. We propose DyNet, a dynamic family of networks designed in an encoder-decoder style for all-in-one image restoration tasks. Our DyNet can seamlessly switch between its bulkier and lightweight variants, thereby offering flexibility for efficient model deployment with a single round of training. This seamless switching is enabled by our weights-sharing mechanism, forming the core of our architecture and facilitating the reuse of initialized module weights. Further, to establish robust weights initialization, we introduce a dynamic pre-training strategy that trains variants of the proposed DyNet concurrently, thereby achieving a 50% reduction in GPU hours. To tackle the unavailability of large-scale dataset required in pre-training, we curate a high-quality, high-resolution image dataset named Million-IRD having 2M image samples. We validate our DyNet for image denoising, deraining, and dehazing in all-in-one setting, achieving state-of-the-art results with 31.34% reduction in GFlops and a 56.75% reduction in parameters compared to baseline models. The source codes and trained models are available at https://github.com/akshaydudhane16/DyNet.<|reference_end|>
@article{dudhane2024dynamic,
    title={Dynamic Pre-training: Towards Efficient and Scalable All-in-One Image
  Restoration},
    author={Akshay Dudhane, Omkar Thawakar, Syed Waqas Zamir, Salman Khan, Fahad
  Shahbaz Khan, Ming-Hsuan Yang},
    journal={arXiv preprint arXiv:2404.02154},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.02154},
    primaryClass={cs.CV}
}