{"id":"998e2894-b6c9-4f38-a4e8-1d10decc4eb6","arxiv_id":"2509.01033","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":5.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":3,"one_line_summary":"An all-in-one occlusion-removal model with self-supervised test-time adaptation outperforms state-of-the-art methods on a new real-world glass-contamination dataset.","lead":"This paper introduces a real-world dataset of photos taken through dirty glass alongside clean counterparts, and a network that adapts at test time to remove the specific contaminant in each image. The approach outperforms prior restoration methods on the authors' dataset, especially for occlusion types not seen during training.","discovery_kind":"new_application","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Test-time update count is tuned on the test set and inconsistently reported (4 vs 6), inflating the claimed advantage over SOTA.","rationale":"I focused on the evaluation protocol rather than dataset alignment because the paper already takes visible steps to minimize misalignment (tripod, two identical glasses, manual selection), whereas the test-time adaptation update count is explicitly tuned on the test set, which directly inflates the central claim. The internal inconsistency (6 vs 4 updates) compounds the issue. The reader's weakest_assumption about pixel alignment is plausible but less directly tied to the 'unseen ones' claim; the update-count tuning is a clear methodological flaw. That said, the paper has merit: it introduces a new real dataset and a plausible architecture; the absolute performance is high. The proper remedy is to fix the hyperparameter before evaluation.","tokens_in":12238,"tokens_out":5371,"duration_ms":59949,"concrete_test":"Re-run the 'unseen ones' experiment (train on Raindrops, Muddy Water, Particles; test on Dirt) with a fixed number of updates chosen a priori (e.g., 6, as stated in §4.1) or selected on a separate validation subset of the training classes. Compare PSNR to DeblurGAN-v2 and to the reported 3-update result. If the margin shrinks below ~1 dB or changes sign, the central claim of superior generalization to unseen occlusions is not supported. Also, reconcile the 4-vs-6 update discrepancy by reporting which update count produced Tables 1–4.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The most load-bearing concern is that the reported gains from test-time adaptation are inflated by selecting the number of gradient updates on the test set, and the paper is internally inconsistent about this hyperparameter. Section 4.1 states 'We perform 6 gradient updates for each test image during the test-time adaptation,' but Section 4.3 reports 'In our best case on OROS dataset, we set n as 4' and Fig. 9 says 'we get the best performance when gradient update times n = 4.' Table 4, which uses n=4, reports the headline PSNR 29.91 dB matching Table 1, suggesting the main results use n=4 despite the stated 6. Furthermore, for the 'unseen ones' experiment (Table 3), the authors write 'We implement 20 updates and achieve the best quantitative performance in 3 updates' — explicitly selecting the hyperparameter on the test set. Since the claim 'especially the unseen ones' rests on this table, the advantage over DeblurGAN-v2 (29.67 vs 25.57 PSNR) may be an artifact of test-set tuning. Without a predetermined update count or a held-out validation set, the reported margins are not a faithful estimate of the method's performance on new occlusions.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper introduces OROS, a new real paired dataset of images captured through glass contaminated by dirt, raindrops, muddy water, and particles, and proposes an all-in-one occlusion removal network. The method uses a two-branch architecture: a primary branch for clean image prediction and a self-supervised auxiliary branch that reconstructs the input degraded image. At test time, the auxiliary reconstruction loss is used to adapt the shared parameters to each test image. The authors claim the method outperforms state-of-the-art methods on OROS, especially on unseen occlusion types.","tokens_in":12632,"tokens_out":4656,"duration_ms":53485,"significance":"The OROS dataset is a potentially valuable resource, as real paired contaminated/clean images are rare. The test-time adaptation idea, using a self-supervised reconstruction task, is well motivated and could improve generalization to unseen occlusions. However, the theoretical degradation model is presented as a contribution but is not rigorously derived, and the experimental evaluation suffers from test-set hyperparameter selection, missing error bars, and unclear dataset alignment. If these issues are addressed, the work would be a useful empirical contribution.","major_comments":[{"comment":"The number of test-time gradient updates is selected on the test set and is reported inconsistently. §4.1 says 'We perform 6 gradient updates for each test image,' while §4.3 and Fig. 9 report the best performance at n=4, and Table 4 (which reaches the headline PSNR 29.91 dB, same as Table 1) uses n=4. In Table 3, the authors state 'We implement 20 updates and achieve the best quantitative performance in 3 updates.' This constitutes test-set tuning. Since the claimed advantage over SOTA, especially on unseen occlusions (29.67 vs 25.57 dB vs DeblurGAN-v2), depends on this hyperparameter, the reported margins are not a faithful estimate of generalization. Please pre-specify n, use a held-out validation split, or report results for a fixed n for all methods, together with variance.","section":"§4.1, §4.3, Table 3, Fig. 9"},{"comment":"The unified degradation model in Eq. (3) is presented as a derivation, but it is largely a restatement. Eq. (1) writes I = α·Is*h + (1−α)·Io*h, while Eq. (2) writes I ≈ Is*h + (α−1)·Ip*h + Ic*h; the relation between IN, IP, IC and the quantities in Eqs. (1)-(2) is not specified. The coefficient β is introduced without physical definition. The claim that partial occlusion removal is equivalent to defocus deblurring and complete occlusion removal to inpainting is asserted rather than proven. Please provide a rigorous derivation or reframe Eq. (3) as a notational convenience, and do not rely on it as a core theoretical contribution.","section":"§2.3, Eq. (3)"},{"comment":"All quantitative results are reported as single PSNR/SSIM values without error bars or statistical significance tests. With 333 test images, the margins over SOTA are sometimes small (e.g., Table 2, Dirt: PSNR 29.93 vs 28.52; Table 1, SSIM 0.879 vs 0.857) and may be within run-to-run variance. Please report means and standard deviations over multiple training runs or compute confidence intervals, and state the number of random seeds.","section":"Tables 1–3"},{"comment":"The dataset collection uses manual selection to ignore 'defective image pairs,' but the selection criteria and the number of discarded pairs are not reported. Residual misalignment between the contaminated and clean images, possibly due to refractive index mismatch or manual pairing, is not quantified. If the pairs are not pixel-aligned, the supervised loss trains on inconsistent targets and the reported PSNR gains could reflect alignment artifacts rather than true restoration. Please provide quantitative alignment statistics (e.g., residual displacement maps) or a sensitivity analysis on alignment.","section":"§2.2"}],"minor_comments":[{"comment":"The text says 'we train the model using Raindrops, Muddy Water, and Particles sub-datasets of the OSOR' — 'OSOR' should be 'OROS.'","section":"§4.2"},{"comment":"The sentence 'The model is trained with various numbers of gradient updates' should read 'The model is adapted with various numbers of gradient updates,' since training is fixed and test-time adaptation varies.","section":"§4.3"},{"comment":"The symbol α is used both for the attenuation ratio in the degradation model and for the loss weight in the total loss. Please use different symbols to avoid confusion.","section":"Eqs. (3), (7)"},{"comment":"The caption says 'our method can utilize more frames in the testing time,' but there are no frames; the x-axis is the number of gradient updates. Please rephrase.","section":"Fig. 9"},{"comment":"The phrase 'We will opensource our code and dataset as a promise' should be rephrased as a clear availability statement (e.g., 'We will release code and data upon publication').","section":"§1, contributions"}],"recommendation":"major_revision","confidential_remarks":"The main load-bearing concern is the test-set selection of the gradient-update count, which directly affects the headline comparison. The physical model derivation also needs strengthening or repositioning. These are fixable, so I recommend major revision rather than rejection."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Here's the take: the OROS dataset is the real contribution. Real paired clean/contaminated photos through glass for four occlusion types, collected with a tripod and two identical glasses. That's work, and the field can use it. The method is a reasonable combination of existing pieces: multi-scale U-net, auxiliary self-reconstruction, occlusion attention mask, and test-time adaptation. Nothing here is a new principle, but doing it for mixed contaminants in one model is a legitimate extension.\n\nThe empirical claim is shakier than the abstract suggests. The stress-test note lands: the paper tunes the number of gradient updates on the test set and reports it inconsistently. Section 4.1 says 6 updates; Section 4.3 says best n=4 and Fig. 9 shows n=4; Table 3 says they implemented 20 updates and got best at 3. That is not a minor typo. The 'unseen ones' table, which is central to the 'especially unseen ones' claim, is explicitly reporting the test-set-optimal number of updates. Without a held-out validation split for choosing n, the reported margin over DeblurGAN-v2 is not a faithful estimate of generalization.\n\nOther soft spots: Eq. 3 is more re-labeling than derivation; there are no error bars, so we don't know if the PSNR gaps matter; and manual selection of 'defective' pairs could bias the dataset, though that's common practice and not disqualifying. Also, the text promises to open-source code and dataset, but no artifacts are linked. Given the claims, that should be a condition of acceptance.\n\nNet: this is a legitimate empirical paper with a useful dataset and a sound general approach, but the headline numbers need to be redone with a disciplined protocol: fix n by validation, report variance, release the data. I'd send it to review rather than desk-reject, but only with the expectation that the authors address the update-count issue. The paper is worth a serious referee's time because the dataset alone is valuable, and test-time adaptation for this problem is a plausible direction that deserves scrutiny.","headline":"A genuinely useful dataset and a plausible test-time-adaptation baseline, but the headline gains are undercut by test-set tuning of the update count and an internal inconsistency about that number.","tokens_in":12970,"tokens_out":1931,"would_cite":true,"duration_ms":23239,"reading_group":"maybe","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"The paper claims that one all-in-one network can remove dirt, raindrops, muddy water, and particles from a single photo taken through contaminated glass, adapting itself to the unseen contaminant type at test time.","keywords":["occlusion removal","test-time adaptation","self-supervised auxiliary learning","unclear glass","image restoration","real paired dataset","defocus deblurring","inpainting"],"falsifier":"Measure the residual registration error between the contaminated and clean images in the OROS pairs (e.g., dense optical flow on occlusion-free regions). If the residual misalignment exceeds about one pixel, or if the PSNR margin over DeblurGAN-v2 evaporates after alignment-robust evaluation, the supervised-training claim is weakened. A second check: run the test-time adaptation with 0 vs 20 updates on a fully held-out contaminant class and compare human-rated restoration; the one-shot claim requires the adapted output to be clearly better than no update.","tokens_in":12206,"feed_emoji":"🪟","tokens_out":6590,"duration_ms":73388,"temperature":0.7,"pith_summary":"The paper's goal is to show that a photograph taken through glass covered with dirt, raindrops, muddy water, or small particles can be restored from that single image, without hardware changes and without a separate model per contaminant. The route is a real paired dataset of degraded and clean shots, called OROS, plus a two-branch neural network that learns two things at once: removing the occlusion and reconstructing it. The second, self-supervised task lets the model spend a few gradient steps on each new test image so it adapts to that image's particular occlusion—this is the one-shot mechanism. If the claim holds, the practical consequence is that surveillance, dashcam, and through-window photography could be cleaned on the fly with one model and no per-type retraining.","feed_headline":"One-shot model removes glass stains better than prior networks","feed_subtitle":"Adapting at test time to each contaminant pushes PSNR to 29.91 dB on real-world pairs.","key_machinery":"The load-bearing identity is the unified occlusion expression I = IN + (α − 1)·IP + β·IC, which maps the two physical regimes—partial occlusion (defocus-blurred margins) and complete occlusion (underexposed cores)—onto the familiar restoration tasks of deblurring and inpainting. The other carriers are the OROS real-pair dataset, collected with two identical glasses on a tripod and remote control to keep the scene static, and the two-branch autoencoder whose auxiliary self-reconstruction branch produces an occlusion attention mask and enables per-image gradient updates during testing.","core_discovery":"The central claim is that occlusion removal through a marginally distant unclear glass can be treated as one unified task: the degraded image decomposes as I = IN + (α−1)·IP + β·IC, where partial occlusion behaves like defocus deblurring and complete occlusion like inpainting. Built on this, the paper proposes an all-in-one network with a primary restoration branch and a self-supervised auxiliary branch that reconstructs the contaminated input; at test time, a few gradient steps on the auxiliary loss adapt the shared weights to the unique occlusion of that single image. On the 333-image OROS test set it reports PSNR 29.91 dB and SSIM 0.879, ahead of re-trained baselines including DeblurGAN-v","pith_inferences":["Editorial: the same test-time adaptation scheme should transfer to other degradations—haze, lens smudges, curved-windshield raindrops—because the auxiliary task only needs the degraded image to define its loss.","Editorial: the unified expression predicts that any contaminant following attenuation-plus-intensification will yield to the same per-image update; collecting pairs for a new, unlisted occluder is a direct way to test that prediction.","Editorial: since the dataset pairs were captured with two separate glasses, the reported margin could be partly influenced by residual misalignment on thin, textured dirt; an experiment measuring registration error against PSNR gains would clarify how much of the margin is true restoration."],"forward_implications":["A single trained model, updated briefly on the test image itself, can handle contaminant types it never saw during training; the paper's held-out Dirt experiment shows adaptation raising PSNR from 29.39 to 29.67 dB with 3 updates.","Occlusion removal reduces to the combined tasks of defocus deblurring and inpainting, so any architecture that solves those two well can be assembled along the same unified degradation expression.","Real image pairs, not synthetic ones, are a viable and sufficient training signal for this task; the paper reports that all baselines retrained on OROS still trail the proposed model.","The one-shot update can be folded into deployment at modest cost: 1.30 s per 256×256 image with 6 gradient updates on a 3090 GPU, versus 1.68 s for DeblurGAN-v2."],"supporting_citations":[{"why":"Supplies the dirty-lens attenuation-and-scattering image formation model that the unified occlusion expression generalizes.","marker":"[7]"},{"why":"Models single-image partial occlusion as a defocus kernel acting on a pinhole projection, grounding the partial-occlusion part of the degradation.","marker":"[25]"},{"why":"Provides the test-time fast adaptation via meta-auxiliary learning paradigm; this paper adapts it without the meta-learning loop.","marker":"[3]"},{"why":"DeblurGAN-v2 is the strongest re-trained baseline whose PSNR/SSIM numbers the central comparison beats.","marker":"[17]"},{"why":"PReNet is the deraining baseline re-trained on OROS and used for comparison.","marker":"[33]"},{"why":"CTSDG is the inpainting baseline re-trained on OROS and used for comparison.","marker":"[10]"},{"why":"Dense-block U-net is the deblurring baseline re-trained on OROS to show multi-degradation failure.","marker":"[41]"},{"why":"Supplies the MS-SSIM + l1 loss used for both the primary and auxiliary branches.","marker":"[49]"},{"why":"The multi-frame see-through-obstructions work is the contrast case for why a one-shot approach is needed.","marker":"[24]"}],"fun_headline_variants":["One-shot test-time adaptation clears unseen glass stains","All-in-one model adapts to each glass contamination on the fly","Single image update removes any occluder from glass photos","Real-world glass cleaning beats prior networks with one shot","Self-supervised adaptation wipes glass occlusions in seconds"],"cache_read_input_tokens":2688,"weakest_assumption_plain":"The load-bearing premise is that every degraded/clean pair is aligned well enough that the supervising loss points at the same scene; the paper does not quantify the residual misalignment left after using two identical glasses and a tripod.","fun_headline_variants_meta":{"raw":{"variants":["One-shot test-time adaptation clears unseen glass stains","All-in-one model adapts to each glass contamination on the fly","Single image update removes any occluder from glass photos","Real-world glass cleaning beats prior networks with one shot","Self-supervised adaptation wipes glass occlusions in seconds"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.00019,"raw_usage":{"total_tokens":1173,"prompt_tokens":737,"completion_tokens":436,"prompt_tokens_details":{"cached_tokens":256},"prompt_cache_hit_tokens":256,"prompt_cache_miss_tokens":481,"completion_tokens_details":{"reasoning_tokens":356}},"tokens_in":481,"tokens_out":436,"duration_ms":5926,"temperature":1.0,"reasoning_tokens":356,"cache_read_input_tokens":256,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-05T12:56:06.213809+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Measure the residual registration error between the contaminated and clean images in the OROS pairs (e.g., dense optical flow on occlusion-free regions). If the residual misalignment exceeds about one pixel, or if the PSNR margin over DeblurGAN-v2 evaporates after alignment-robust evaluation, the supervised-training claim is weakened. A second check: run the test-time adaptation with 0 vs 20 updates on a fully held-out contaminant class and compare human-rated restoration; the one-shot claim requires the adapted output to be clearly better than no update.","supporting_citations":[{"cited_title":"Removing image artifacts due to dirty camera lenses and thin occluders","cited_arxiv_id":null,"evidence_quote":"Supplies the dirty-lens attenuation-and-scattering image formation model that the unified occlusion expression generalizes."},{"cited_title":"Removal of partial occlusion from single images","cited_arxiv_id":null,"evidence_quote":"Models single-image partial occlusion as a defocus kernel acting on a pinhole projection, grounding the partial-occlusion part of the degradation."},{"cited_title":"Test- time fast adaptation for dynamic scene deblurring via meta- auxiliary learning","cited_arxiv_id":null,"evidence_quote":"Provides the test-time fast adaptation via meta-auxiliary learning paradigm; this paper adapts it without the meta-learning loop."},{"cited_title":"Deblurgan-v2: Deblurring (orders-of-magnitude) faster and better","cited_arxiv_id":null,"evidence_quote":"DeblurGAN-v2 is the strongest re-trained baseline whose PSNR/SSIM numbers the central comparison beats."},{"cited_title":"Progressive image deraining networks: A better and simpler baseline","cited_arxiv_id":null,"evidence_quote":"PReNet is the deraining baseline re-trained on OROS and used for comparison."},{"cited_title":"Image inpaint- ing via conditional texture and structure dual generation","cited_arxiv_id":null,"evidence_quote":"CTSDG is the inpainting baseline re-trained on OROS and used for comparison."},{"cited_title":"Dense block u-net for dynamic scene deblur- ring","cited_arxiv_id":null,"evidence_quote":"Dense-block U-net is the deblurring baseline re-trained on OROS to show multi-degradation failure."},{"cited_title":"Loss functions for image restoration with neural networks","cited_arxiv_id":null,"evidence_quote":"Supplies the MS-SSIM + l1 loss used for both the primary and auxiliary branches."},{"cited_title":"Learning to see through ob- structions","cited_arxiv_id":null,"evidence_quote":"The multi-frame see-through-obstructions work is the contrast case for why a one-shot approach is needed."}],"review_version":1}