FlowSteer: Conditioning Flow Field for Consistent Image Restoration

1Purdue University 2HKUST 3Texas A&M University
FlowSteer teaser

Explicit conditioning a flow field with a simple scheduler allows for physically consistent image restoration with pixel-level fidelity.

TL;DR FlowSteer enables to steer a pre-trained flow-based vision language model for zero-shot image reconstruction. It preserves pixel-level fidelity, while leveraging the strong flow-priors.

Results

Qualitative comparison for colorization. FlowSteer better preserves the identity of the input subject, while leveraging the colorizing priors from the flow-model.

Colorization: comparison between FlowSteer and baselines

Input (grayscale)  ↔  FlowSteer colorized result

Colorization output (FlowSteer)
Colorization input

Colorization with a flow model without / with FlowSteer

Colorization with FlowSteer
Colorization without FlowSteer

Qualitative comparison for super-resolution. FlowSteer reconstructs sharper edges and fine details while remaining faithful to the low-resolution input.

Super-resolution: comparison between FlowSteer and baselines

Input (4x low res. + noise)  ↔  FlowSteer higher res. result

superres output (FlowSteer)
superres input

Super-resolution with a flow model without / with FlowSteer

superres with FlowSteer
superres without FlowSteer

Qualitative comparison for denoising. FlowSteer removes noise while preserving high-frequency texture and contrast.

Denoising: comparison between FlowSteer and baselines

Input (noisy)  ↔  FlowSteer denoised result

denoising output (FlowSteer)
denoising input

Denoising with a flow model without / with FlowSteer

denoising with FlowSteer
denoising without FlowSteer

Qualitative comparison for deblurring. FlowSteer restores sharp structure from Gaussian-blurred inputs.

Deblurring: comparison between FlowSteer and baselines

Input (blurred + noise)  ↔  FlowSteer deblurred result

deblurring output (FlowSteer)
Colorization input

Deblurring with a flow model without / with FlowSteer

deblurring with FlowSteer
deblurring without FlowSteer

Abstract

Flow-based text-to-image (T2I) models excel at prompt-driven image generation, but falter on Image Restoration (IR), often "drifting away" from being faithful to the measurement. Prior work mitigate this drift with data-specific flows or task-specific adapters that are computationally heavy and not scalable across tasks. This raises the question "Can't we efficiently manipulate the existing generative capabilities of a flow model?" To this end, we introduce FlowSteer (FS), an operator-aware conditioning scheme that injects measurement priors along the sampling path,coupling a frozed flow's implicit guidance with explicit measurement constraints. Across super-resolution, deblurring, denoising, and colorization, FS improves measurement consistency and identity preservation in a strictly zero-shot setting— no retrained models, no adapters. We show how the nature of flow models and their sensitivities to noise inform the design of such a scheduler.FlowSteer, although simple, achieves a higher fidelity of reconstructed images, while leveraging the rich generative priors of flow models.

Method

Overview of the FlowSteer method
Figure: High-level overview of the FlowSteer pipeline.

FlowSteer conditions a pre–trained flow-based vision-language model with a simple, measurement-aware scheduler for explicit conditioning. The scheduler is designed to control the fidelity update that aligns the flow trajectory with the forward operator.

This explicit conditioning complements the implicit conditioning from text prompts, allowing FlowSteer to leverage the rich generative priors of the pre-trained model while maintaining strong pixel-level faithfulness to the measurements.

BibTeX

@article{Tharindu2025_FlowSteer,
  title   = {FlowSteer: Conditioning Flow Field for Consistent Image Restoration},
  author  = {Wickremasinghe, Tharindu and Qi, Chenyang and Weligampola, Harshana and Tu, Zhengzhong and Chan, Stanley H.},
  journal = {arXiv preprint arXiv:2512.08125},
  year    = {2025},
}