PRISM: Latent Composition Consistency for
Single-Image Reflection Removal
PRISM: Latent Composition Consistency for
Single-Image Reflection Removal
June 30, 2026
Single-image reflection removal (SIRR) seeks to recover the transmission layer from a mixture corrupted by reflections—a severely ill-posed problem. Existing methods operate in pixel space, where the nonlinear sRGB formation model entangles the two layers and limits generalization. We observe that pretrained VAE latent spaces exhibit substantially lower coherence between image layers compared to pixel space, providing a more favorable working space for decomposition. Building on this finding, we propose PRISM (Pretrained-latent Reflection Image Separation Model), which reinterprets SIRR as a latent linear separation problem. Under an approximate additive formulation in latent space, PRISM learns a flow matching velocity field on a pretrained FLUX backbone that recovers both transmission and reflection in a single forward pass. To enforce robust disentanglement, we introduce a Latent Composition Consistency (LCC) strategy that constructs synthetic mixtures by swapping reflection latents across samples and enforces consistent decomposition via a cycle loss. We further propose a Layer Contrastive Separation (LCS) loss that promotes semantic separation between layers through patch-level contrastive learning, without requiring explicit reflection targets. Experiments on six benchmarks demonstrate that PRISM consistently outperforms state-of-the-art methods by significant margins, with strong generalization to in-the-wild images.
Photographs taken through glass windows or other transparent surfaces routinely capture unwanted reflections superimposed on the scene of interest. Beyond degrading visual quality, such reflections harm downstream tasks including 3D Gaussian Splatting [1], face recognition [2], and depth estimation [3]. Single-image reflection removal (SIRR) seeks to recover the transmission layer \(T\) from an observed mixture \(I = T + R\), where \(R\) is the reflection component [4]. This problem is severely ill-posed, as infinitely many \((T, R)\) pairs satisfy the equation for a given \(I\).
Prior works address this ambiguity through hand-crafted priors [7]–[9], learnable residue terms [10], [11], or data-driven architectures [12]–[14]. However, operating in pixel space imposes two fundamental limitations: the additive model is only a coarse approximation under nonlinear camera responses, and architectures must simultaneously capture low-level texture and high-level semantics, often resulting in entangled features. While the RAW sensor domain offers a more faithful additive model [15], it requires specialized hardware inapplicable to existing sRGB imagery.
Why latent space? We pursue an orthogonal direction: lifting the decomposition into the latent space of a pretrained generative model [5], [16], [17]. As shown in Fig. 1 (a), we measure the cosine similarity between transmission and reflection across 454 real image pairs from SIR\(^2\) [6]. In pixel space, \(T\) and \(R\) are highly entangled (avg.\(\cos = 0.74\)), whereas in the FLUX VAE latent space the cosine similarity drops to \(0.07\) — a reduction shared by any pair of encoded images, indicating broad decorrelation rather than a layer-specific property. This substantially lower coherence suggests that the latent space serves as a more favorable working space for decomposition. Leveraging this property, we adopt an approximate additive formulation \(z_I \approx z_T + z_R\), where \(z = \mathcal{E}(\cdot)\) denotes the output of a pretrained VAE encoder \(\mathcal{E}\) and \(\mathcal{D}(\cdot)\) its decoder. We model the transport \(z_I \to z_T\) via a flow matching velocity field \(v_\theta\). The velocity target satisfies \(v^{*} \approx -z_R\), enabling both components to be recovered in a single forward pass without dual-branch architectures.
We term our method PRISM (Pretrained-latent Reflection Image Separation Model). A key challenge is preventing degenerate solutions where the model entangles scene-specific information across components. The low mutual coherence of latent representations offers a unique opportunity here: since the overlap between layers is substantially lower in latent space, composing the transmission of one image with the reflection of another yields a semantically valid mixture (Fig. 1 (b)) — something far less effective in pixel space where the two layers overlap heavily. We exploit this property with a Latent Composition Consistency (LCC) strategy that swaps reflection components across images to construct synthetic latent compositions, enforcing that the model decomposes them consistently.
Since the additive formulation \(z_I \approx z_T + z_R\) is only approximate, an explicit reflection regression target would require encoding a pixel-space residual (\(\mathcal{E}(I-T)\)), propagating nonlinearity errors into the training signal. We therefore introduce a Layer Contrastive Separation (LCS) loss that enforces semantic separation between transmission and reflection without requiring any explicit reflection target.
Our contributions are as follows:
We provide empirical evidence that pretrained VAE latent spaces exhibit significantly lower coherence between image layers compared to pixel space, and show that this property enables effective latent-space decomposition.
We propose PRISM, a latent flow matching framework that reinterprets SIRR as a latent linear separation problem, recovering both transmission and reflection in a single forward pass without dual-branch architectures.
We introduce a Latent Composition Consistency (LCC) training strategy that leverages the low coherence of latent space to construct semantically valid cross-image compositions, enforcing decomposition robustness across arbitrary latent mixtures.
We introduce a Layer Contrastive Separation (LCS) loss that enforces semantic separation between transmission and reflection without requiring exact additive reconstruction, directly addressing the non-exact nature of the latent additive assumption.
Early work models the observed image as \(I = T + R\), where \(T\) and \(R\) denote the transmission and reflection layers [4]. Subsequent refinements incorporate ghosting cues [9], alpha-matting coefficients [8], channel-wise blending scalars [7], and a learnable residue term \(\Phi(T,R)\) to capture nonlinear interactions [10]. Operating in the RAW sensor domain makes this additive model more physically faithful [15], but requires specialized hardware unavailable for standard sRGB imagery.
With paired datasets, supervised networks have become dominant. Single-stream methods such as CEILNet [18], Zhang et al. [19], and ERRNet [20] learn direct mappings to the transmission layer via task-specific architectures and losses. Recognizing the complementary nature of the two layers, dual-stream architectures model both jointly: IBCLN [21] uses a recurrent dual-branch LSTM; YTMT [22] introduces a symmetric ReLU-based interaction strategy; LASIRR [23] adds explicit reflection localization with confidence maps; and [11], DSRNet [10], and DSIT [13] progressively advance feature interaction quality via gated modules, learnable residue terms, and dual-attention mechanisms, respectively. RDNet [12] further addresses information loss in dual-stream interactions through multi-level reversible encoders, while Zhu et al. [24] contribute a real-world dataset to mitigate data scarcity. More recently, diffusion-based priors [25] have been brought to bear on SIRR: DAI [14] demonstrates that constraining predictions to a natural-image manifold substantially improves real-world generalization, though it requires fine-tuning the Stable Diffusion [17] VAE to compensate for its limited reconstruction fidelity. Despite this progress, all of the above methods operate in pixel space and are susceptible to the nonlinear sRGB formation model; none enforces a structured additive decomposition in the representation space of a generative model.
VAEs [16] and latent diffusion models [17] establish that compressed latent spaces are smooth, semantically structured, and amenable to compositional arithmetic—properties exploited for flexible image editing [26] and generation. Flow matching [27] learns a velocity field transporting samples along straight trajectories; Rectified Flow [28] further straightens these paths, and consistency models [29] push this to single-step generation. FLUX [5] instantiates these principles at scale, providing a pretrained latent space well-suited for task-specific fine-tuning. Generative priors have also been applied to image restoration [25], with diffusion- and flow-based methods [30]–[33] showing that constraining predictions to a natural-image manifold substantially improves real-world generalization. Unlike these methods, which repurpose generative models as pixel-space priors or require iterative sampling, we directly exploit the additive structure of the latent space for single-pass reflection decomposition.
Contrastive learning [34]–[36] trains representations by pulling positive pairs together while pushing negatives apart, and has been increasingly adopted in low-level vision tasks. AECR-Net [37] first introduced contrastive regularization for image dehazing by treating hazy images as negatives and their clean counterparts as positives, establishing the paradigm of using degradation-clean pairs as contrastive supervision. CUT [38] further demonstrated that patch-wise contrastive objectives can effectively align local structures in unpaired image-to-image translation, inspiring subsequent patch-level formulations. More recently, task-agnostic contrastive strategies [39] have been proposed to improve restoration quality across diverse degradation types. Unlike these works, which apply contrastive objectives to improve single-target reconstruction quality, our Layer Contrastive Separation loss repurposes this framework for cross-layer disentanglement between transmission and reflection.
Flow matching [27] learns a velocity field \(v_\theta\) that transports samples from a source distribution \(p_0\) to a target distribution \(p_1\) along straight trajectories. Given a sample pair \((x_0, x_1)\), the conditional flow is defined as the linear interpolation \(x_t = (1-t)x_0 + t x_1\) for \(t \in [0, 1]\), with constant velocity target \(v^* = x_1 - x_0\). At inference, the one-step estimate recovers the target as \(x_1 = x_0 + v_\theta(x_0, 0)\).
Rather than operating in pixel space, latent flow matching [40], [41] performs this transport in the compressed representation of a pretrained VAE [16]. An encoder \(\mathcal{E}\) maps an image \(I\) to a latent \(z = \mathcal{E}(I) \in \mathbb{R}^{16 \times H/8 \times W/8}\) (16 channels, \(8\times\) spatial downsampling) and a decoder \(\mathcal{D}\) inverts this mapping. The latent space is semantically structured and exhibits smooth compositional properties [17], making it well-suited for the additive decomposition we exploit in Sec. 3.2. Crucially, FLUX’s VAE achieves high reconstruction fidelity without additional fine-tuning, unlike Stable Diffusion-based approaches [14], [17] that require VAE fine-tuning to compensate for reconstruction artifacts.
FLUX [5] is a large-scale instantiation of latent flow matching built on a Multi-Modal Diffusion Transformer (MM-DiT) backbone [40]. We adopt FLUX as the backbone for our reflection removal framework, as detailed in Sec. 3.3. Conventional diffusion-based image-to-image methods begin from a noisy latent obtained by adding noise to the encoded input, and iteratively denoise toward the target. FLUX, as a flow matching model, supports starting directly from a clean input latent without any noise injection, since the straight-line trajectory allows recovery at any timestep. We exploit this property: PRISM takes the clean input latent \(z_I = \mathcal{E}(I)\) as the starting point and recovers the transmission latent in a single forward pass.
We adopt the standard additive image formation model [4], [6], [19], where the observed image \(I\) is expressed as the superposition of a transmission layer \(T\) and a reflection layer \(R\): \[I = T + R.\] This formulation serves only as an approximation under real imaging conditions due to nonlinear camera responses, blur, and attenuation effects. Instead of refining the physical model in pixel space, we perform decomposition in the VAE latent space introduced above, where encoded representations exhibit substantially lower mutual coherence (Fig. 1 (a)). We adopt an approximate additive formulation: \[z_I \approx z_T + z_R,\] where \(z_I = \mathcal{E}(I)\), \(z_T = \mathcal{E}(T)\), and \(z_R = \mathcal{E}(R)\). Although this constraint does not hold exactly due to encoder nonlinearity, the low coherence in latent space eases the regression and makes it a practically effective working assumption, casting SIRR as a latent linear separation problem.
Given the latent additive formulation \(z_I \approx z_T + z_R\), our goal is to estimate \(z_T\) from \(z_I\) alone. We model this transformation using a flow matching framework, where a velocity field \(v_\theta\) is learned to transport the input latent \(z_I\) toward the transmission latent \(z_T\). Specifically, we define the velocity target as: \[v^* = z_T - z_I \approx -z_R,\] which reveals a key property: under the additive latent assumption, the velocity field approximates the negative of the reflection latent, allowing both components to be recovered in a single forward pass without any dual-branch architecture or dedicated reflection loss (Fig. 2 (a)): \[\hat{z}_T = z_I + v_\theta(z_I, 0), \qquad \hat{z}_R = -v_\theta(z_I, 0).\]
We implement \(v_\theta\) by fine-tuning the full parameters of a pretrained FLUX model [5], with \(z_I\) serving directly as the starting point of the flow. Rather than sampling \(t \sim \mathcal{U}[0,1]\) during training, we fix \(t=0\) and train with a single-step objective directly on the input latent \(z_I\), which reduces training cost and is consistent with one-step inference: \[\mathcal{L}_{\text{latent}} = \| v_\theta(z_I, 0) - v^* \|^2_2.\] To further improve perceptual quality, we additionally supervise the decoded transmission prediction in pixel space using a combination of \(\ell_1\) and LPIPS [42] losses: \[\mathcal{L}_{\text{pixel}} = \| \mathcal{D}(\hat{z}_T) - T \|_1 + \lambda_{\text{lpips}} \cdot \mathcal{L}_{\text{LPIPS}} (\mathcal{D}(\hat{z}_T), T),\]
Inference. At inference, we apply a single forward pass at \(t=0\), so that \(\hat{z}_T = z_I + v_\theta(z_I, 0)\) directly. This one-step scheme is consistent with the linear flow matching objective [27], where the ground-truth velocity field is constant along the trajectory; we train and infer at \(t=0\) for simplicity and empirical stability.
While the latent flow matching objective encourages accurate transmission recovery, it does not explicitly prevent entanglement between \(\hat{z}_T\) and \(\hat{z}_R\): a degenerate solution exists where the model encodes scene-specific information into both components without achieving true disentanglement. We address this with two complementary losses — \(\mathcal{L}_{\text{cycle}}\) and \(\mathcal{L}_{\text{LCS}}\) — both grounded in the Latent Composition Consistency (LCC) strategy described below.
The low mutual coherence of transmission and reflection in latent space (Fig. 1 (a)) enables a unique training strategy. Since the two components exhibit substantially lower overlap, composing the transmission of one image with the reflection of another yields a semantically valid mixture — something far less effective in pixel space. A well-disentangled model should therefore decompose not only real mixtures but any such synthetic composition. We operationalize this by cyclically swapping reflection components across the \(N\) samples of a training batch (Fig. 2 (b)): \[\tilde{z}_I^i = \hat{z}_T^i + \hat{z}_R^{(i \bmod N) + 1}, \quad i \in \{1, \ldots, N\}.\] A second forward pass on each synthetic mixture then recovers the decomposition: \[\tilde{v}^i = v_\theta(\tilde{z}_I^i, 0), \qquad \tilde{z}_T^i = \tilde{z}_I^i + \tilde{v}^i, \qquad \tilde{z}_R^i = -\tilde{v}^i.\]
The cycle loss enforces that the second-pass decomposition recovers the original components, averaged over the batch: \[\mathcal{L}_{\text{cycle}} = \frac{1}{N}\sum_{i=1}^{N}\frac{1}{2}\left( \| \tilde{z}_T^i - \texttt{sg}(\hat{z}_T^i) \|_2^2 + \| \tilde{z}_R^i - \texttt{sg}\!\left(\hat{z}_R^{(i \bmod N)+1}\right) \|_2^2 \right),\] where \(\texttt{sg}(\cdot)\) is the stop-gradient operator. Without it, the model could trivially minimize \(\mathcal{L}_{\text{cycle}}\) by collapsing all first-pass predictions to the same value (mode collapse). Stop-gradient fixes the first-pass outputs as stable targets, so that the second pass learns to match a consistent decomposition anchored by \(\mathcal{L}_{\text{latent}}\) and \(\mathcal{L}_{\text{pixel}}\).
While \(\mathcal{L}_{\text{latent}}\) supervises the velocity target \(v^* = z_T - z_I\) (which only requires \(\mathcal{E}(T)\) and \(\mathcal{E}(I)\)), it does not explicitly enforce that the resulting \(\hat{z}_T\) and \(\hat{z}_R\) are semantically disentangled. Introducing an explicit reflection regression target \(\mathcal{E}(I-T)\) would be problematic, since \(\mathcal{E}(I-T) \neq \mathcal{E}(I) - \mathcal{E}(T)\) due to encoder nonlinearity. Instead, we exploit the low mutual coherence of \(z_T\) and \(z_R\) (cosine similarity \(0.07\) in latent vs.\(0.74\) in pixel space) and enforce semantic separation via contrastive learning, without requiring any explicit reflection target. As illustrated in Fig. 2 (c), we build on the InfoNCE framework [34], using the cycle-recovered transmission \(\tilde{z}_T\) as an anchor, with transmission latents (\(\hat{z}_T\), \(z_T^{\text{gt}}\)) as positives and reflection latents (\(\hat{z}_R\), \(\tilde{z}_R\), \(z_R^{\text{gt}}\)) as negatives.
Since reflection and transmission exhibit spatially heterogeneous entanglement, we extract patch-based representations: the latent map is divided into non-overlapping \(p \times p\) patches, each independently pooled and \(\ell_2\)-normalized, yielding \(K = (H_z/p)\times(W_z/p)\) contrastive pairs per sample. Letting \(f_k(\cdot)\) denote the patch-pool operation for the \(k\)-th patch, and \(\sigma_k(z) = f_k(\tilde{z}_T)^\top f_k(z) / \tau\) the scaled similarity to the anchor: \[\mathcal{L}_{\text{LCS}} = -\mathbb{E}\left[ \frac{1}{K}\sum_{k=1}^{K} \log \frac{ \sum_{s \in \mathcal{P}} e^{\sigma_k(z^s)} }{ \sum_{s \in \mathcal{P}} e^{\sigma_k(z^s)} + \sum_{n \in \mathcal{N}} e^{\sigma_k(z^n)} } \right],\] where \(\mathcal{P}\) and \(\mathcal{N}\) are the positive and negative sets, \(\tau = 0.1\) is the temperature, and \(H_z\!=\!H/8\), \(W_z\!=\!W/8\). We set \(p = 4\) as the default patch size (see ablation in Sec. 4.3). GT reflection negatives are included only when ground-truth annotations are available.
The final training objective combines all four loss terms: \[\mathcal{L} = \lambda_{\text{lat}} \mathcal{L}_{\text{latent}} + \lambda_{\text{pix}} \mathcal{L}_{\text{pixel}} + \lambda_{\text{cycle}} \mathcal{L}_{\text{cycle}} + \lambda_{\text{LCS}} \mathcal{L}_{\text{LCS}},\] where \(\lambda_{\text{lat}}\), \(\lambda_{\text{pix}}\), \(\lambda_{\text{cycle}}\), and \(\lambda_{\text{LCS}}\) are weighting coefficients that balance the contribution of each term. The latent and pixel losses provide direct supervision for transmission recovery, while the cycle and Layer Contrastive Separation losses promote disentanglement without requiring pixel-space reflection ground truth.
| Methods | Real(20) | Object(200) | Postcard(199) | Wild(55) | Nature(20) | SIR\(^2\)(454) | ||||||
| PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | |
| ERRNet (CVPR’19) | 22.89 | 0.803 | 24.87 | 0.896 | 22.04 | 0.876 | 24.25 | 0.853 | 20.58 | 0.756 | 23.41 | 0.874 |
| IBCLN (CVPR’20) | 21.86 | 0.762 | 24.87 | 0.893 | 23.39 | 0.875 | 24.71 | 0.886 | 23.57 | 0.786 | 24.08 | 0.875 |
| LASIRR (ICCV’21) | 23.34 | 0.812 | 24.36 | 0.898 | 23.72 | 0.903 | 25.73 | 0.902 | 23.45 | 0.808 | 24.18 | 0.893 |
| YTMT (NeurIPS’21) | 23.26 | 0.806 | 24.87 | 0.896 | 22.91 | 0.884 | 25.48 | 0.890 | 23.85 | 0.810 | 24.04 | 0.880 |
| RobustSIRR (CVPR’23) | 23.61 | 0.835 | 24.90 | 0.917 | 19.91 | 0.868 | 23.67 | 0.884 | 20.97 | 0.764 | 22.54 | 0.884 |
| DSRNet (ICCV’23) | 23.91 | 0.818 | 26.74 | 0.920 | 24.83 | 0.911 | 26.11 | 0.906 | 25.22 | 0.832 | 25.72 | 0.907 |
| RRW (CVPR’24) | 23.82 | 0.817 | 26.55 | 0.927 | 24.03 | 0.903 | 26.51 | 0.913 | 25.96 | 0.843 | 25.40 | 0.908 |
| DSIT (NeurIPS’24) | 25.22 | 0.836 | 27.27 | 0.932 | 25.58 | 0.922 | 27.40 | 0.918 | 26.77 | 0.847 | 26.50 | 0.919 |
| RDNet (CVPR’25) | 25.58 | 0.846 | 26.78 | 0.921 | 26.33 | 0.922 | 27.70 | 0.915 | 26.21 | 0.842 | 26.63 | 0.915 |
| DAI (AAAI’26) | 25.24 | 0.840 | 27.26 | 0.920 | 27.30 | 0.922 | 27.44 | 0.912 | 27.05 | 0.846 | 27.30 | 0.919 |
| PRISM (Ours) | 27.14 | 0.853 | 27.61 | 0.925 | 27.85 | 0.906 | 29.54 | 0.932 | 27.35 | 0.853 | 27.95 | 0.918 |
Implementation Details. Our model is implemented in PyTorch and trained on a single NVIDIA A6000 GPU with a batch size of 2 and a crop size of \(512\times512\) for 50,000 iterations. We use AdamW [43] with cosine annealing [44], decaying from \(5 \times 10^{-5}\) to \(1 \times 10^{-6}\), in bfloat16 precision. We adopt FLUX.2 Klein 4B [5] as the backbone. Since our task does not involve text conditioning, we replace the text cross-attention input with a single zero-valued embedding token, effectively operating the transformer unconditionally; the text encoder is discarded to save memory. Loss weights are \(\lambda_{\text{lat}} = 1\), \(\lambda_{\text{pix}} = 1\), \(\lambda_{\text{lpips}} = 2\), \(\lambda_{\text{cycle}} = 1\), \(\lambda_{\text{LCS}} = 0.1\). During training, paired images are augmented with random resize, horizontal flip, rotation, and a random \(512\times512\) crop, applied consistently to input and ground truth.
Training Data. We follow the same training data setting and synthesis pipeline as RDNet [12]: 7,643 synthetic pairs from PASCAL VOC [45], 90 real pairs from [19], and 200 real pairs from Nature [21], sampled with a 0.6 : 0.2 : 0.2 ratio per epoch. Real pairs provide additional diversity in reflection type and scene complexity not captured by the synthetic distribution.
Evaluation Datasets. We evaluate PRISM on six standard benchmark datasets following the evaluation protocol of RDNet [12]. Real [19] consists of 20 challenging real-world reflection images captured in diverse conditions. SIR\(^2\) [6] is a benchmark comprising three subsets: Object (200 images), Postcard (199 images), and Wild (55 images), covering a wide range of scenes, illumination conditions, and glass types. Nature [23] contains 20 real-world samples captured under natural lighting conditions. For in-the-wild evaluation, we additionally use OpenRR 1K [46], a real-world reflection removal benchmark; we evaluate on its test set of 100 images in an inference-only setting without any fine-tuning.
Evaluation Metrics. We report PSNR and SSIM [47] on all benchmarks, following prior works [10], [12], computed on the predicted transmission against ground truth in \([0, 1]\). For OpenRR 1K, we additionally report LPIPS [42] and DISTS [48], which measure perceptual similarity and correlate more strongly with human visual judgment, as well as NIQE [49] as a no-reference image quality metric.
We compare PRISM against ten state-of-the-art SIRR approaches: ERRNet [20], IBCLN [21], LASIRR [23], YTMT [22], RobustSIRR [7], DSRNet [10], RRW [24], DSIT [13], RDNet [12], and DAI [14]. In all tables, bold and underline denote the best and second-best results, respectively.
As shown in Tab. 1, PRISM achieves state-of-the-art PSNR across all six benchmarks. PRISM surpasses the previous best RDNet [12] by 1.56 dB on Real and 1.84 dB on Wild, with consistent gains on all remaining benchmarks. PRISM also outperforms the diffusion-based DAI [14] on all reported datasets, demonstrating that structured latent decomposition provides a strong inductive bias for reflection removal that generalizes well across diverse real-world conditions. On SSIM, PRISM achieves the best scores on Real, Wild, and Nature, while trailing DSIT [13] and DAI [14] slightly on Object and Postcard. This pattern is consistent with the known perception-distortion tradeoff [50]: generative priors tend to recover sharper, higher-fidelity outputs that improve average pixel accuracy (PSNR) but may introduce local high-frequency details that deviate from the ground truth’s exact spatial structure, which SSIM’s window-based structural term penalizes. This observation is further corroborated in Tab. 2, where PRISM achieves substantially better perceptual scores (LPIPS \(-14.0\%\), DISTS \(-14.6\%\) relative to RDNet) despite slightly lower SSIM — metrics known to correlate more strongly with human visual judgment [42], [48].
Fig. 3 shows visual results against DSRNet [10], RRW [24], RDNet [12], and DAI [14] on five benchmarks. Across all datasets, competing methods tend to either leave residual reflection artifacts or introduce color distortion and structural degradation in the recovered transmission. Notably, in the last row, residual reflection patterns remain visible even in the ground-truth image, whereas PRISM successfully removes these artifacts, yielding a cleaner and more consistent result, further demonstrating the advantage of our latent-space decomposition over pixel-space approaches. Additional visual results are provided in the supplementary material.
Fig. 4 compares the estimated reflection layers of YTMT [22], DSRNet [10], DSIT [13], and RDNet [12] against ours. All competing methods produce near-zero reflection estimates, indicating that pixel-space approaches tend to absorb the reflection component into reconstruction residuals rather than explicitly separating it. This is a fundamental limitation of pixel-space decomposition: without a structured additive prior, the reflection branch degenerates into a trivial zero output while all information is passed to the transmission branch. PRISM, by contrast, recovers structurally coherent reflections that preserve the spatial layout of the ground truth. Although the recovered reflections exhibit brightness differences due to the absence of pixel-level reflection supervision, the clear structural correspondence demonstrates that latent-space decomposition achieves more effective layer disentanglement than pixel-space alternatives, even without a dedicated pixel-space reflection loss.
We further evaluate the generalization capability of PRISM on the in-the-wild OpenRR 1K dataset [46]. As shown in Tab. 2, all models are evaluated on the OpenRR 1K test set without being trained on this dataset, , in an inference-only setting. PRISM achieves the best performance in PSNR, LPIPS, DISTS, and NIQE among all compared methods. While SSIM is lower than RDNet, PRISM outperforms all baselines on perceptual metrics (LPIPS \(-14.0\%\), DISTS \(-14.6\%\) relative to RDNet), consistent with the perception-distortion tradeoff discussed above.
Tab. 2 also reports the number of parameters and inference time. Despite having more parameters, PRISM achieves comparable inference time to RDNet (104 ms vs. ms), as bf16 precision
substantially reduces memory bandwidth and computation overhead.
Fig. 5 provides visual comparisons. PRISM effectively captures reflection patterns and removes them while preserving the underlying transmission structures. Compared with competing methods, PRISM produces cleaner results with fewer residual artifacts, demonstrating stronger generalization in real-world reflection removal scenarios.
| Method | PSNR\(\uparrow\) | SSIM\(\uparrow\) | LPIPS\(\downarrow\) | DISTS\(\downarrow\) | NIQE\(\downarrow\) | Time (ms)\(\downarrow\) | Params |
|---|---|---|---|---|---|---|---|
| YTMT | 25.16 | 0.927 | 0.096 | 0.059 | 3.6241 | 75.68 | 58.47M |
| DSRNet | 26.24 | 0.935 | 0.074 | 0.048 | 3.6573 | 288.01 | 144.65M |
| DSIT | 26.01 | 0.903 | 0.083 | 0.051 | 3.5536 | 222.91 | 326.96M |
| RRW | 25.55 | 0.929 | 0.086 | 0.055 | 3.6825 | 35.88 | 27.99M |
| RDNet | 26.81 | 0.939 | 0.074 | 0.048 | 3.7713 | 102.26 | 314.03M |
| DAI | 26.04 | 0.903 | 0.085 | 0.070 | 3.6197 | 138.70 | 1.30B |
| PRISM | 27.23 | 0.893 | 0.064 | 0.041 | 3.5512 | 104.23 | 3.97B |
4pt
| \(\mathcal{L}_{\text{cycle}}\) | \(\mathcal{L}_{\text{LCS}}\) | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
|---|---|---|---|---|---|---|---|---|---|
| 3-4 (lr)5-6 (lr)7-8 (lr)9-10 | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| \(\times\) | \(\times\) | 26.67 | 0.847 | 27.24 | 0.850 | 27.68 | 0.916 | 27.20 | 0.871 |
| \(✔\) | \(\times\) | 26.90 | 0.853 | 27.35 | 0.851 | 27.86 | 0.917 | 27.37 | 0.874 |
| \(\times\) | \(✔\) | 26.74 | 0.846 | 27.34 | 0.852 | 27.90 | 0.917 | 27.33 | 0.872 |
| \(✔\) | \(✔\) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.48 | 0.875 |
4pt
| \(\tilde{z}_T\) | \(\tilde{z}_R\) | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
|---|---|---|---|---|---|---|---|---|---|
| 3-4 (lr)5-6 (lr)7-8 (lr)9-10 | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| \(\times\) | \(✔\) | 26.95 | 0.850 | 27.26 | 0.851 | 27.87 | 0.917 | 27.36 | 0.873 |
| \(✔\) | \(\times\) | 26.86 | 0.849 | 27.32 | 0.852 | 27.83 | 0.917 | 27.34 | 0.872 |
| \(✔\) | \(✔\) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.48 | 0.875 |
4pt
| Representation | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
|---|---|---|---|---|---|---|---|---|
| 2-3 (lr)4-5 (lr)6-7 (lr)8-9 | PSNR | SSIM | PSNR | SSIM | PSNR | SSIM | PSNR | SSIM |
| Patch (\(p=2\)) | 27.03 | 0.851 | 27.35 | 0.853 | 27.94 | 0.917 | 27.44 | 0.874 |
| Patch (\(p=4\), PRISM) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.48 | 0.875 |
| Patch (\(p=8\)) | 26.83 | 0.849 | 27.22 | 0.852 | 27.93 | 0.917 | 27.33 | 0.873 |
| Global Avg. Pool | 26.73 | 0.845 | 27.21 | 0.852 | 27.94 | 0.918 | 27.29 | 0.872 |
We conduct ablation studies on Real(20), Nature(20), and SIR\(^2\)(454) to analyze each proposed component.
Tab. 3 isolates the contribution of each disentanglement objective. The base model (row 1) uses only \(\mathcal{L}_{\text{latent}}\) and \(\mathcal{L}_{\text{pixel}}\), confirming that the additive latent formulation provides a useful inductive bias on its own; however, without explicit disentanglement losses, the model may still entangle scene-specific information across the two components. Adding \(\mathcal{L}_{\text{cycle}}\) yields consistent improvements across all three benchmarks (+0.23 dB on Real, +0.18 dB on SIR\(^2\)), confirming that enforcing reconstruction consistency under cyclically swapped reflections strengthens disentanglement. Combining both losses further improves performance, with the full model achieving 27.14 / 27.35 / 27.95 dB on Real, Nature, and SIR\(^2\) respectively, demonstrating that \(\mathcal{L}_{\text{cycle}}\) and \(\mathcal{L}_{\text{LCS}}\) are complementary: the cycle loss enforces structural consistency in latent space, while \(\mathcal{L}_{\text{LCS}}\) provides a semantic disentanglement signal without relying on exact additive reconstruction. Fig. 6 visualizes the progressive effect: \(\mathcal{L}_\text{recon}\) alone leaves residual reflections; adding \(\mathcal{L}_\text{cycle}\) stabilizes the transmission but reflections persist; \(\mathcal{L}_\text{LCS}\) suppresses them further yet introduces minor artifacts; only the full combination removes reflections while preserving fidelity.
Tab. 4 investigates which components are supervised within the cycle branch. Supervising only the reflection cycle (\(\tilde{z}_R\)) or only the transmission cycle (\(\tilde{z}_T\)) in isolation both degrade performance compared to supervising both jointly, underscoring the importance of bidirectional consistency. Jointly supervising both components achieves the best results across all benchmarks, as each direction provides a complementary constraint: the transmission cycle enforces that the scene content is preserved under arbitrary reflection corruption, while the reflection cycle ensures that the separated reflection latent is consistent with the physical composition.
Tab. 5 compares spatial representation strategies for \(\mathcal{L}_{\text{LCS}}\). Global average pooling performs worst (26.73 dB on Real), as collapsing the entire latent map into a single vector discards the spatially heterogeneous entanglement structure. Patch-based representations consistently outperform global pooling across all tested sizes, with \(p\!=\!4\) achieving the best balance between spatial granularity and representation stability (27.14 / 27.95 dB on Real / SIR\(^2\)). Too-small patches (\(p\!=\!2\)) introduce noise from overly local comparisons, while too-large patches (\(p\!=\!8\)) lose the fine-grained spatial cues needed to distinguish locally entangled layers.
In this paper, we presented PRISM, a latent flow matching framework for single-image reflection removal that reinterprets the task as a latent linear separation problem. By exploiting the low mutual coherence of pretrained VAE latent representations, PRISM adopts an approximate additive formulation and recovers the transmission via a velocity field in a single forward pass, without dual-branch architectures or a dedicated pixel-space reflection loss. To enforce robust disentanglement, PRISM introduces a Latent Composition Consistency strategy — uniquely enabled by the broad decorrelation of latent representations — and a Layer Contrastive Separation loss that handles the non-exact nature of the additive assumption without propagating approximation errors. Extensive experiments on six real-world benchmarks demonstrate that PRISM consistently outperforms state-of-the-art approaches, achieving significant PSNR gains while maintaining strong generalization to challenging real-world imagery.
The FLUX backbone (3.97B parameters) incurs significant memory overhead, limiting deployment on resource-constrained hardware. Additionally, while the additive latent formulation is empirically effective, a principled theoretical understanding of when and why the VAE encoder approximately preserves additive structure remains an open question. Fig. 7 illustrates a representative failure mode: when the reflection is optically dense and saturated (, \(\|R\|_1 / \|I\|_1 > 0.5\)), \(z_I\) shifts toward the reflection subspace and the low-coherence assumption weakens, causing all methods—including PRISM—to leave residual reflections. We provide further analysis in the supplementary material.
This research was supported by Culture, Sports and Tourism R&D Program through the Korea Creative Content Agency grant funded by the Ministry of Culture, Sports and Tourism in 2026 (Project Name: Development of AI-Based Animation Production Technology to Ensure Character and Scene Consistency and Continuity for Enhanced Efficiency and Quality, Project Number: RS-2026-25525207, Contribution Rate: 30%). This work was also supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) (No.2022-0-00156, Fundamental research on continual meta-learning for quality enhancement of casual videos and their 3D metaverse transformation), IITP grant funded by the Korea government (MSIT) (No.RS-2020-II201373, Artificial Intelligence Graduate School Program (Hanyang University)).
PRISM: Latent Composition Consistency for Single-Image Reflection Removal
Supplementary Material
This supplementary material provides additional experiments and analyses to complement the main paper.
Sec. 6: Empirical analysis of the latent additivity approximation, substantiating the key theoretical claim underlying PRISM.
Sec. 7: Lightweight backbone ablation (SD-2.1) to contextualize the role of model scale.
Sec. 8: Post-hoc reflection calibration analysis to validate the structural quality of recovered reflections.
Sec. 9: Sensitivity analysis for loss weights \(\lambda_{\text{cycle}}\) and \(\lambda_{\text{LCS}}\).
Sec. 10: Stop-gradient ablation for the cycle consistency loss.
Sec. 11: Timestep sampling strategy comparison (\(t\!=\!0\) vs.\(t \sim \mathcal{U}[0,1]\)).
Sec. 12: Discussion of design choices: trivial solution avoidance and batch size sensitivity.
Sec. 13: Additional qualitative comparisons across all benchmarks.
Sec. 14: Visual comparison between generative-prior-based approaches (DAI and PRISM) on real-world images.
Sec. 15: Pixel-only and pixel-cycle ablations to isolate the contribution of latent-space supervision.
Sec. 16: Additional failure case analysis (structural glass artifacts).
A natural concern about PRISM is the following apparent contradiction: the main paper reports a scale-normalized additivity error of \(\bar{\varepsilon} = 0.9235\) in latent space, substantially higher than \(\bar{\varepsilon} = 0.2673\) in pixel space. If the additive constraint \(z_I \approx z_T + z_R\) holds worse in latent space, why perform decomposition there? This section resolves the apparent contradiction by showing that additivity error and directional coherence are orthogonal axes: a high \(\varepsilon\) does not imply high coherence, and it is low coherence — not additive exactness — that determines whether a linear decomposition is feasible.
We compute two complementary metrics for all 454 SIR\(^2\) [6] pairs in both pixel and latent space:
Additivity error \(\varepsilon = \|z_I - z_T - z_R\|_2 / \|z_I\|_2\): measures residual energy after the additive decomposition, normalized by input magnitude.
Cosine similarity \(\cos(z_T, z_R) = z_T^\top z_R / (\|z_T\|_2 \|z_R\|_2)\): a scale-invariant measure of directional overlap between the two components.
Fig. 8 plots these two metrics against each other for every pair in both spaces. The two point clouds occupy opposite quadrants: pixel-space representations cluster at low \(\varepsilon\) (\(\bar{\varepsilon} = 0.27\)) but high cosine similarity (\(\overline{\cos} = 0.74\)), while latent-space representations cluster at high \(\varepsilon\) (\(\bar{\varepsilon} = 0.92\)) but near-zero cosine similarity (\(\overline{\cos} = 0.07\)). Crucially, this pattern is consistent across all scene categories: the latent cosine similarity remains near zero for Object (\(0.058\)), Postcard (\(0.064\)), and Wild (\(0.112\)), while the corresponding pixel-space values are substantially higher (\(0.677\), \(0.835\), \(0.639\)).
This result reveals a fundamental trade-off between the two spaces. In pixel space, the additive model holds well (\(\varepsilon = 0.27\)). However, \(T\) and \(R\) point in similar directions (\(\cos = 0.74\)), meaning that a linear decomposition cannot reliably distinguish them — the two components are entangled in the direction sense that matters for separation.
In latent space, the VAE encoder’s nonlinearity breaks the additive structure (\(\varepsilon \approx 0.92\)), so \(z_I \approx z_T + z_R\) is only a working approximation. Yet the encoder simultaneously reduces the mutual coherence between \(z_T\) and \(z_R\) (\(\cos \leq 0.112\) across all categories), making the two components directionally distinguishable. We note that random unit vectors in high-dimensional spaces also exhibit near-zero expected cosine similarity (\(\mathbb{E}[\cos] \to 0\) as \(d \to \infty\)); however, the pixel-space vectors share the same dimensionality yet yield \(\overline{\cos} = 0.74\), demonstrating that the low latent-space cosine is a property of the encoder mapping, not merely a dimensional artifact. It is this low coherence — not additive exactness — that allows PRISM to learn a reliable velocity field \(v_\theta\) that separates the two layers. This is empirically supported by the ablation in Tab. 3 of the main paper: even the base model (without LCC/LCS) achieves 26.67 dB on Real, indicating that the latent-space formulation alone provides a strong inductive bias for decomposition. Furthermore, the tight clustering of the latent points (\(\sigma_\varepsilon = 0.032\), \(\sigma_{\cos} = 0.035\)) confirms that this property is structurally stable, not an artifact of particular images or scene categories.
A natural question is whether the low cosine similarity in latent space is specific to the \((T, R)\) pairing or a general property of any two encoded images. To test this, we compute \(\cos(T, T')\) and \(\cos(T, R')\), where \(T'\) and \(R'\) denote the transmission and reflection from a different sample in the dataset.
| Space | \(\cos(T,R)\) | \(\cos(T,T')\) | \(\cos(T,R')\) | \(1/\sqrt{d}\) |
|---|---|---|---|---|
| Pixel | 0.741 | 0.745 | 0.736 | 0.001 |
| SD2.1 | 0.248 | 0.157 | 0.223 | 0.008 |
| SD3 | 0.596 | 0.544 | 0.565 | 0.004 |
| FLUX | 0.067 | 0.072 | 0.056 | 0.003 |
4pt
Table 6 reveals two key findings. First, in FLUX latent space, \(\cos(T, T') = 0.072\) is close to \(\cos(T, R) = 0.067\), confirming that the decorrelation is broad rather than specific to the transmission-reflection pairing. The FLUX VAE does not inherently separate transmission from reflection; rather, it maps any pair of natural images into a low-coherence representation space. Second, this drop is encoder-induced, not a dimensionality artifact: pixel space is higher-dimensional (\(d = 786\)K) yet retains \(\cos \approx 0.74\), while the expected cosine for random vectors (\(1/\sqrt{d}\)) is far below the observed pixel-space values. The practical consequence is that in pixel space \(T\) and \(R\) overlap heavily (\(\cos = 0.74\)), making regression from \(I\) to \(T\) ill-conditioned, whereas in FLUX latent space the overlap vanishes and the regression becomes substantially easier. This is further corroborated by the SIRR PSNR trend across VAE encoders: switching from SD-2.1 to FLUX yields \(+3.17\) dB (Tab. 7), tracking the magnitude of the cosine similarity drop.
PRISM adopts a 3.97B-parameter FLUX [5] backbone. To verify that the performance gains are attributable to the proposed LCC and LCS objectives rather than to raw model capacity, we fine-tune a smaller backbone with the same training strategy and compare against the full PRISM model.
We adopt a Stable Diffusion 2.1 [17] U-Net backbone (\(\sim\)860M parameters) and apply identical LCC and LCS objectives, training data, and hyperparameters as the main model. Although SD-2.1 is originally a denoising diffusion model rather than a flow matching model, we repurpose its U-Net as a direct regression network: given the input latent \(z_I\), the network predicts the velocity \(v_\theta(z_I, 0)\) with the same \(t\!=\!0\) training objective used by PRISM, bypassing the diffusion noise schedule entirely. We compare three configurations: (i) SD-2.1 without LCC/LCS, (ii) SD-2.1 with LCC+LCS, and (iii) full PRISM (FLUX + LCC+LCS).
| Model | Params | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | ||
| SD-2.1 (baseline, no LCC/LCS) | 860M | 23.10 | 0.692 | 26.56 | 0.793 | 24.40 | 0.826 | 24.34 | 0.818 |
| SD-2.1 + LCC + LCS | 860M | 23.36 | 0.692 | 26.40 | 0.790 | 24.84 | 0.828 | 24.73 | 0.820 |
| PRISM (FLUX + LCC + LCS) | 3.97B | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.90 | 0.913 |
6pt
Table 7 shows that adding LCC+LCS to SD-2.1 improves SIR\(^2\) PSNR by \(+\)0.44 dB and Real PSNR by \(+\)0.26 dB over the SD-2.1 baseline. Nature shows a marginal drop (\(-\)0.16 dB), likely because the SD-2.1 latent space exhibits weaker decorrelation than FLUX (see Sec. 6), limiting the effectiveness of LCC/LCS on certain scene types. Nevertheless, the overall trend confirms that the proposed objectives provide a consistent gain even on a much smaller backbone. The absolute performance gap between SD-2.1 and PRISM (\(\sim\)3 dB) highlights the additional benefit of the FLUX backbone’s stronger generative prior and larger model capacity. This finding is consistent with recent observations in other image restoration tasks, where the choice of backbone and its underlying degradation modeling significantly affect performance [51], [52].
Unlike existing methods that directly supervise the reflection layer with pixel-space losses (, \(\|\hat{R} - R_\text{gt}\|_1\)), PRISM recovers reflections purely through latent-space objectives: the flow matching target \(\hat{z}_R = -v_\theta\) and the LCC/LCS losses. As a result, the decoded reflections \(\hat{R} = \mathcal{D}(\hat{z}_R)\) exhibit a systematic brightness bias—regions where \(R_\text{gt} \approx 0\) do not reach zero in \(\hat{R}\), while strongly reflective regions are predicted at roughly correct intensity. We show that this deviation is a global affine shift rather than a structural failure: after a simple per-image affine calibration, PRISM achieves reflection recovery quality competitive with methods that use direct pixel-space reflection supervision, confirming that the latent flow matching framework captures the correct spatial structure of reflections.
Given a recovered reflection \(\hat{R}\) and its ground truth \(R_\text{gt}\), we apply a per-image affine transformation \(\hat{R}_\text{cal} = \alpha^* \hat{R} + \beta^*\), where \(\alpha^*\) and \(\beta^*\) are obtained by ordinary least-squares regression of \(\hat{R}\) onto \(R_\text{gt}\): \[\alpha^* = \frac{\mathrm{Cov}(\hat{R},\, R_\text{gt})}{\mathrm{Var}(\hat{R})}, \qquad \beta^* = \mu_{R_\text{gt}} - \alpha^* \mu_{\hat{R}},\] where \(\mu\) denotes the spatial mean. The scale term \(\alpha^*\) corrects the global brightness, while the offset term \(\beta^*\) removes a systematic positive bias that prevents reflection-free regions from reaching zero. This calibration does not modify the transmission prediction and is applied only for the reflection quality evaluation.
| Method | Object(200) | Postcard(199) | Wild(55) | SIR\(^2\)(454) | ||||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| YTMT [22] \(\hat{R}\) | 18.77 | 0.062 | 11.83 | 0.144 | 20.18 | 0.196 | 15.90 | 0.114 |
| YTMT \(\hat{R}_\text{cal}\) | 24.72 | 0.778 | 18.24 | 0.646 | 24.60 | 0.737 | 21.86 | 0.715 |
| DSRNet [10] \(\hat{R}\) | 20.62 | 0.485 | 12.20 | 0.280 | 22.00 | 0.542 | 17.10 | 0.402 |
| DSRNet \(\hat{R}_\text{cal}\) | 25.18 | 0.786 | 18.36 | 0.638 | 25.34 | 0.752 | 22.21 | 0.717 |
| DSIT [13] \(\hat{R}\) | 21.73 | 0.489 | 13.10 | 0.311 | 22.02 | 0.493 | 17.98 | 0.411 |
| DSIT \(\hat{R}_\text{cal}\) | 25.75 | 0.793 | 19.24 | 0.676 | 25.84 | 0.765 | 22.90 | 0.738 |
| RDNet [12] \(\hat{R}\) | 21.30 | 0.467 | 13.06 | 0.273 | 22.07 | 0.518 | 17.78 | 0.388 |
| RDNet \(\hat{R}_\text{cal}\) | 25.53 | 0.771 | 18.59 | 0.625 | 25.41 | 0.730 | 22.48 | 0.702 |
| PRISM \(\hat{R}\) | 8.27 | 0.229 | 10.56 | 0.404 | 8.13 | 0.188 | 9.26 | 0.301 |
| PRISM \(\hat{R}_\text{cal}\) | 25.46 | 0.705 | 19.26 | 0.500 | 26.25 | 0.671 | 22.83 | 0.611 |
4pt
Table 8 reports the reflection recovery quality before and after affine calibration. PRISM exhibits the lowest uncalibrated PSNR (9.26 dB) because it receives no pixel-space reflection loss, yet achieves the largest calibration gain of \(+\)13.57 dB, reaching 22.83 dB after a simple two-parameter correction. This places PRISM within 0.07 dB of DSIT [13] (22.90 dB), the strongest baseline, which is trained with an explicit \(\|\hat{R} - R_\text{gt}\|_2^2\) loss. Notably, all methods benefit substantially from affine calibration (4–6 dB gain), confirming that the protocol provides a fairer reflection evaluation by decoupling structural fidelity from global brightness alignment. We emphasize that PRISM’s disproportionately large calibration gain (\(+\)13.57 dB vs.–6 dB for baselines) reflects the absence of pixel-space reflection supervision, not a structural advantage of the calibration protocol; the purpose of this analysis is to demonstrate that the latent flow matching framework captures the correct spatial structure of reflections despite lacking direct brightness supervision, rather than to claim competitive uncalibrated reflection quality.
Fig. 9 compares PRISM and DSIT [13] (the strongest baseline after calibration) before and after affine calibration. The uncalibrated PRISM reflections appear uniformly bright due to the absence of direct pixel-space reflection supervision, yet the underlying spatial structure—edges, textures, and object boundaries—is clearly preserved. After applying the two-parameter affine correction, PRISM+ recovers reflections that are visually comparable to DSIT+, despite DSIT being trained with an explicit \(\|\hat{R} - R_\text{gt}\|_2^2\) loss. This confirms that the brightness deviation in PRISM is a simple global shift that can be removed post-hoc, rather than a fundamental limitation of the latent decomposition.
PRISM uses five loss weights: \(\lambda_{\text{lat}} = 1\), \(\lambda_{\text{pix}} = 1\), \(\lambda_{\text{lpips}} = 2\), \(\lambda_{\text{cycle}} = 1\), and \(\lambda_{\text{LCS}} = 0.1\). We verify that performance is robust to these choices by independently varying two key weights — \(\lambda_{\text{cycle}}\) and \(\lambda_{\text{LCS}}\) — while keeping all others fixed. \(\lambda_{\text{LCS}}\) is set to a smaller value by default because the InfoNCE [34] loss operates on a different scale than the regression losses; we confirm below that this choice is not critically sensitive.
| \(\lambda_{\text{cycle}}\) | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| 0.5 | 26.92 | 0.850 | 27.33 | 0.852 | 27.82 | 0.918 | 27.77 | 0.913 |
| 1.0 (default) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.90 | 0.913 |
| 2.0 | 26.84 | 0.849 | 27.32 | 0.852 | 27.73 | 0.915 | 27.68 | 0.910 |
5pt
Table 9 shows that the default \(\lambda_{\text{cycle}} = 1\) achieves the best performance across all three benchmarks, while both halving and doubling the weight lead to modest degradation (within 0.3 dB on Real and 0.2 dB on SIR\(^2\)). This confirms that performance is not critically sensitive to the exact choice of \(\lambda_{\text{cycle}}\).
| \(\lambda_{\text{LCS}}\) | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| 0.05 | 26.97 | 0.852 | 27.32 | 0.853 | 27.91 | 0.917 | 27.85 | 0.913 |
| 0.1 (default) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.90 | 0.913 |
| 0.2 | 26.97 | 0.852 | 27.28 | 0.852 | 27.94 | 0.917 | 27.88 | 0.913 |
5pt
Table 10 shows a similar trend for \(\lambda_{\text{LCS}}\): the default value of 0.1 yields the best overall performance, while halving (0.05) or doubling (0.2) the weight causes negligible degradation (\(\leq\)0.17 dB on Real, \(\leq\)0.01 dB on SIR\(^2\)). Both loss weights thus exhibit a broad plateau around their default values, confirming that PRISM’s performance is robust to the exact hyperparameter choices.
The cycle consistency loss \(\mathcal{L}_{\text{cycle}}\) applies stop-gradient (\(\texttt{sg}\)) to the first-pass predictions, preventing the cycle branch from back-propagating into the primary decomposition. Without stop-gradient, the model could trivially minimize \(\mathcal{L}_{\text{cycle}}\) by collapsing all first-pass predictions to a constant (mode collapse). We empirically verify this claim by comparing training with and without stop-gradient.
| Configuration | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| w/o stop-gradient | 26.82 | 0.849 | 27.23 | 0.853 | 27.84 | 0.916 | 27.78 | 0.911 |
| w/ stop-gradient (default) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.90 | 0.913 |
5pt
Table 11 confirms that removing stop-gradient consistently degrades performance across all benchmarks (–0.32 dB on Real, –0.12 dB on Nature, –0.11 dB on SIR\(^2\)). Without \(\texttt{sg}\), the cycle branch can back-propagate into the first-pass predictions, allowing the model to reduce \(\mathcal{L}_{\text{cycle}}\) without improving decomposition quality. The stop-gradient operator prevents this shortcut and ensures that the cycle consistency signal provides a meaningful training signal.
Standard flow matching [27] training samples \(t \sim \mathcal{U}[0,1]\) and constructs interpolated inputs \(x_t = (1-t)x_0 + tx_1\). PRISM instead fixes \(t=0\) and trains exclusively on the clean input latent \(z_I\), since the velocity field \(v^* = z_T - z_I\) is constant along the linear trajectory. We verify that this simplification does not sacrifice performance by comparing against uniform \(t\)-sampling. Both configurations are trained for the same number of iterations (50k) with identical hyperparameters, and we confirm that the uniform-\(t\) variant has converged (training loss plateaus after \(\sim\)30k iterations).
| \(t\)-sampling | Real(20) | Nature(20) | SIR\(^2\)(454) | Avg | ||||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | |
| \(t \sim \mathcal{U}[0,1]\) | 22.99 | 0.775 | 24.08 | 0.812 | 25.47 | 0.885 | 25.27 | 0.876 |
| \(t = 0\) (default) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 27.90 | 0.913 |
5pt
Table 12 reveals a substantial performance gap between uniform \(t\)-sampling and the fixed \(t\!=\!0\) strategy (\(-\)4.15 dB on Real, \(-\)2.48 dB on SIR\(^2\)). Although the optimal velocity \(v^* = z_T - z_I\) is theoretically constant along the linear trajectory, uniform \(t\)-sampling trains the model on interpolated inputs \(z_t = (1\!-\!t)z_I + tz_T\) that are never encountered at inference, where the model always receives the clean input \(z_I\). Fixing \(t\!=\!0\) eliminates this train-test mismatch, allowing the network to focus its capacity entirely on the operationally relevant input distribution.
A natural concern with the latent decomposition \(z_I \approx z_T + z_R\) is whether the model can exploit a trivial solution: predict \(v_\theta(z_I) = 0\), yielding \(\hat{z}_T = z_I\) and \(\hat{z}_R = 0\). This would collapse the decomposition to \(\hat{T} = I\) (transmission equals the input) and \(\hat{R} = \mathcal{D}(\mathbf{0})\) (a gray image), effectively ignoring the reflection layer entirely. PRISM prevents this collapse through its pixel-space transmission losses. The training objective includes \(\|\hat{T} - T_\text{gt}\|_1\) and \(\mathcal{L}_\text{LPIPS}(\hat{T}, T_\text{gt})\), which directly penalize the decoded transmission \(\hat{T} = \mathcal{D}(\hat{z}_T)\) against the ground-truth transmission. If the model predicts \(v_\theta = 0\), then \(\hat{T} = \mathcal{D}(z_I) = I \neq T_\text{gt}\) because the input mixture contains reflections. These pixel-space losses therefore impose a non-zero gradient on \(v_\theta\) whenever \(I \neq T_\text{gt}\) (assuming the pretrained VAE decoder has a non-degenerate Jacobian, which holds in practice), forcing the model to learn a meaningful decomposition. Note that PRISM does not apply any pixel-space loss on the reflection layer \(\hat{R}\); the reflection is recovered solely via the flow matching target \(\hat{z}_R = -v_\theta\) and the LCC/LCS objectives. As shown in Sec. 8, this leads to a systematic brightness bias in the decoded reflections, which can be corrected by a simple post-hoc affine calibration. The key insight is that the pixel-space transmission loss alone is sufficient to prevent the trivial solution, while the latent-space objectives (LCC, LCS) further regularize the decomposition to produce structurally accurate reflections.
The LCC loss constructs cross-image compositions by cyclically swapping reflection latents within a mini-batch. With the default batch size of 2, only a single swap pair is formed per step, raising the question of whether a larger swap pool would improve training. However, LCC is a reconstruction consistency loss — it verifies that the model can correctly decompose a novel composition — rather than a contrastive objective that benefits from a large number of negatives. The diversity of compositions encountered during training is determined by the dataset itself (each step samples a fresh image pair), not by the number of simultaneous swaps within a single batch. Furthermore, the LCS loss, which does use InfoNCE [34], operates on channels within a single image (transmission vs.reflection features) rather than across batch samples, so it is similarly unaffected by batch size. We therefore expect performance to be largely insensitive to batch size beyond \(N\!=\!2\).
We provide additional visual comparisons on Real [19], Nature [21], SIR\(^2\) [6] (Object, Postcard, Wild), and the in-the-wild OpenRR 1K [46] benchmark. For each benchmark, we compare PRISM against representative baselines along with the input mixture. All images are shown at their original resolution; crops are used where fine-grained detail is relevant.
Fig. 10 shows additional results on the Real [19] and Nature [21] benchmarks. PRISM recovers sharper transmission layers with fewer residual reflection artifacts, while competing methods leave residual artifacts or introduce color shifts.
Fig. 11 presents results across all three SIR\(^2\) [6] subsets. PRISM produces cleaner separations across diverse reflection types, including structured text reflections (Postcard), specular highlights (Object), and complex outdoor scenes (Wild).
Fig. 12 shows results on the OpenRR 1K [46] test set, where all methods are evaluated without training on this dataset. PRISM demonstrates stronger generalization to diverse in-the-wild reflection scenarios, producing cleaner results with fewer residual artifacts.
Among the compared methods, both DAI [14] and PRISM leverage pretrained generative models for reflection removal: DAI builds on a one-step diffusion framework with ControlNet conditioning, while PRISM reformulates the task as latent flow matching using FLUX [5]. To compare how these two generative-prior-based approaches handle real-world reflections beyond existing benchmarks, we evaluate them on challenging images sourced from Unsplash2, which exhibit diverse and intense reflection conditions not represented in standard evaluation sets such as SIR\(^2\) or OpenRR. Fig. 13 presents the visual comparison.
To further isolate the contribution of latent-space supervision, we conduct two additional ablations.
| Setting | Real(20) | Nature(20) | SIR\(^2\)(454) | VAE/step | |||
| PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | PSNR\(\uparrow\) | SSIM\(\uparrow\) | ||
| \(\mathcal{L}_\text{pixel}\) only | 26.25 | — | 27.28 | — | 27.65 | — | 2\(\times\) |
| Pixel-cycle | 26.93 | — | 27.31 | — | 27.94 | — | 5\(\times\) |
| PRISM (full) | 27.14 | 0.853 | 27.35 | 0.853 | 27.95 | 0.918 | 2\(\times\) |
4pt
Training with \(\mathcal{L}_\text{pixel}\) only (no latent loss) drops Real by \(0.89\) dB (Tab. 13), confirming that latent-space supervision matters beyond pixel reconstruction. Moving the cycle consistency to pixel space drops Real by \(0.21\) dB while costing \(2.5{\times}\) more VAE forward passes per training step (2 extra decodes + 1 encode to compute cycle consistency in pixel space). The latent cycle thus achieves better quality at lower training cost, because cycle consistency in latent space avoids the information bottleneck of decoding and re-encoding.
While PRISM achieves strong performance across diverse benchmarks, there exist challenging conditions where all current methods, including PRISM, produce suboptimal results. We present an additional failure mode that remains an open challenge in single-image reflection removal (the dense/saturated reflection case is discussed in the main paper). Fig. 14 compares PRISM with RDNet [12] and DAI [14].
In some SIR\(^2\) samples, the physical structure of the glass panel used during data capture (, frames, support beams, or canopy elements) appears as strong, sharp-edged patterns superimposed on the scene. These structural artifacts differ from typical scene reflections in that they exhibit hard geometric edges rather than soft, blended intensity variations. All compared methods struggle to remove these patterns, as shown in Fig. 14, because the sharp edges are difficult to distinguish from genuine transmission content.
This limitation is shared across all compared methods and stems from the fundamental assumption that scene content consists of smooth intensity variations. Structural glass artifacts introduce sharp geometric patterns that are difficult to distinguish from genuine transmission content. Future work may benefit from edge-aware separation mechanisms that can distinguish physical glass structures from scene edges.
Corresponding author↩︎