Papers › AdaIR: Adaptive All-in-One Image Restoration via Frequency Mining and Modulation

AdaIR: Adaptive All-in-One Image Restoration via Frequency Mining and Modulation

21 Mar 2024arXiv:2403.14614archive 2025-07-28

Yuning Cui, Syed Waqas Zamir, Salman Khan, Alois Knoll, Mubarak Shah, Fahad Shahbaz Khan

In the image acquisition process, various forms of degradation, including noise, haze, and rain, are frequently introduced. These degradations typically arise from the inherent limitations of cameras or unfavorable ambient conditions. To recover clean images from degraded versions, numerous specialized restoration methods have been developed, each targeting a specific type of degradation. Recently, all-in-one algorithms have garnered significant attention by addressing different types of degradations within a single model without requiring prior information of the input degradation type. However, these methods purely operate in the spatial domain and do not delve into the distinct frequency variations inherent to different degradation types. To address this gap, we propose an adaptive all-in-one image restoration network based on frequency mining and modulation. Our approach is motivated by the observation that different degradation types impact the image content on different frequency subbands, thereby requiring different treatments for each restoration task. Specifically, we first mine low- and high-frequency information from the input features, guided by the adaptively decoupled spectra of the degraded image. The extracted features are then modulated by a bidirectional operator to facilitate interactions between different frequency components. Finally, the modulated features are merged into the original input for a progressively guided restoration. With this approach, the model achieves adaptive reconstruction by accentuating the informative frequency subbands according to different input degradations. Extensive experiments demonstrate that the proposed method achieves state-of-the-art performance on different image restoration tasks, including denoising, dehazing, deraining, motion deblurring, and low-light image enhancement. Our code is available at https://github.com/c-yn/AdaIR.

PaperPDFCodeCode Syntology ran

In Syntology View this paper on Syntology: its repositories, every harvested function with whether it ran, its licence and the call to fetch it.

Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2403.14614")

Code

Syntology Ran 12 of 15 code samples harvested from 1 repository linked to this paper; 3 have no recorded run. Of those that ran: 3 ran · fixture could not drive it; 9 ran with no contract checked.

By repository: official repository: 15 samples from 1 repository, 12 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

c-yn/adair officialmentioned in papermentioned on GitHubpytorchMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

15 samples harvested; 12 ran; 0 honoured the contract we drafted; 3 have no recorded run. Read from Syntology's graph 2026-09-25; that is when this build read the record, not when the samples ran.

3ran · fixture could not drive it
9ran
3unverified

Licence: 0 of the 15 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from c-yn/adair. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

contributions c-yn/adair/utils/imresize.py official repository ran MIT (permissive) · b921438690ac017f · report
crop_a_image c-yn/adair/utils/image_io.py official repository ran MIT (permissive) · 8ade57fc1fb950bb · report
crop_img c-yn/adair/utils/image_utils.py official repository ran fingerprinted MIT (permissive) · 11c75b3b8bc61c21 · report
crop_patch c-yn/adair/utils/image_utils.py official repository ran fingerprinted MIT (permissive) · 86abcfa12b6612f0 · report
fix_scale_and_size c-yn/adair/utils/imresize.py official repository ran MIT (permissive) · ee75635bb6c497f1 · report
get_position_from_periods c-yn/adair/utils/schedulers.py official repository ran · fixture could not drive it fingerprinted MIT (permissive) · cd569444547de84f · report
imresize c-yn/adair/utils/imresize.py official repository ran MIT (permissive) · c38287d2acea0ce0 · report
linear_warmup_decay c-yn/adair/utils/schedulers.py official repository ran MIT (permissive) · 442cb54f21dcfe50 · report
prepare_gt_img c-yn/adair/utils/image_io.py official repository ran MIT (permissive) · e91553b51010dfd6 · report
prepare_hazy_image c-yn/adair/utils/image_io.py official repository ran MIT (permissive) · 8564be766b7cda56 · report
to_3d c-yn/adair/net/model.py official repository ran · fixture could not drive it fingerprinted MIT (permissive) · 82a15cc1e46f7e4d · report
to_4d c-yn/adair/net/model.py official repository ran · fixture could not drive it MIT (permissive) · b20f2a5df739a59e · report
accuracy c-yn/adair/utils/val_utils.py official repository unverified MIT (permissive) · 418284b6911ecae5 · report
compute_psnr_ssim c-yn/adair/utils/val_utils.py official repository unverified MIT (permissive) · 41bf6e3c6e9bb89b · report
slice_image2patches c-yn/adair/utils/image_utils.py official repository unverified MIT (permissive) · 779d9bd47765629e · report

Tasks

AllBlind All-in-One Image RestorationDeblurringDenoisingImage EnhancementImage RestorationLow-Light Image EnhancementRain Removal

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Blind All-in-One Image Restoration 3-Degradations AdaIR Average PSNR 32.69 #4 of 9 Archive leaderboard report
Blind All-in-One Image Restoration 3-Degradations AdaIR SSIM 0.918 #4 of 9 Archive leaderboard report
Blind All-in-One Image Restoration 5-Degradations AdaIR Average PSNR 30.20 #6 of 9 Archive leaderboard report
Blind All-in-One Image Restoration 5-Degradations AdaIR SSIM 0.910 #6 of 9 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections