A favorable quality/runtime case
For FFHQ 4× super-resolution in Table 1, CLAMP reports 29.515 dB PSNR at 6.743 s; DAPS reports 28.619 dB at 28.257 s. DCDP is faster at 4.719 s, with 27.611 dB.
ICML 2026 · Inha University
Geometry-Correct Diffusion Posterior Sampling with Denoiser-Pullback Curvature Guidance and Manifold-Aligned Damping
* Equal contribution.
Reconstruct images with a pretrained diffusion prior.
Account for measurement geometry at every noise level.
CLAMP (Curvature-aware Langevin with Aligned Manifold Pullback) is a training-free inverse-problem solver using a pretrained diffusion prior. It supports a common correction framework in pixel and latent spaces. Consider it as a baseline when comparing reconstruction quality and runtime for linear or differentiable nonlinear measurement operators.
Start with a diffusion denoiser suited to your image domain. Training-free refers to solving the inverse problem; the prior is already trained.
The correction uses operator Jacobian actions and a denoiser pullback. Latent reconstruction also differentiates through the decoder.
Scalar likelihood guidance applies a single weight to a data-consistency direction. CLAMP instead computes a geometry-aware correction in the noisy diffusion state, using a one-sided curvature approximation and damping aligned with the denoiser residual.
Author-reported paper results · arXiv v1, Tables 1 and 3
The tables below transcribe the paper's natural-image comparisons into selectable text. They are paper results, not new runs or independent replications. Each table reports 100 validation images at 256 × 256 on one NVIDIA RTX 6000 Ada Generation GPU, with batch size 1. Higher PSNR/SSIM and lower LPIPS/runtime are better.
Pixel priors are the FFHQ model from DPS and the ImageNet model from Dhariwal & Nichol. Latent experiments use LDM-VQ4 priors as described in the paper. Exact checkpoint hashes and image IDs are not supplied by these tables. The release's ImageNet latent conditioning configuration still needs to be reconciled with the paper's unconditional-prior description before claiming reproduction.
The physical measurement noise and solver calibration are distinct: the release's natural-image presets use noise standard deviation 0.05, while CLAMP's data-consistency calibration is 0.01 and identity damping is 2.0. See Appendix C for the noise protocol and method-specific baseline settings. These comparisons do not impose equal iteration budgets.
| Representation | Linear tasks | Phase retrieval | Nonlinear blur | HDR |
|---|---|---|---|---|
| Pixel | 50 / 5 | 250 / 4 | 50 / 20 | 250 / 4 |
| Latent | 25 / 20 | 250 / 5 | 75 / 20 | 250 / 5 |
Times are transcribed as reported in the paper. Consult Appendix C.2 for each baseline's settings, and retain task/noise settings, checkpoint identity, backend, and evaluation protocol in any new comparison.
All rows from Table 1, separated by dataset.
| Task | Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Time (s) ↓ |
|---|---|---|---|---|---|
| 4× super-resolution | CLAMP | 29.515 | 0.841 | 0.219 | 6.743 |
| 4× super-resolution | DAPS | 28.619 | 0.764 | 0.262 | 28.257 |
| 4× super-resolution | SITCOM | 29.153 | 0.826 | 0.231 | 15.755 |
| 4× super-resolution | DMPlug | 28.637 | 0.797 | 0.253 | 118.255 |
| 4× super-resolution | DCDP | 27.611 | 0.785 | 0.225 | 4.719 |
| Box inpainting | CLAMP | 25.495 | 0.882 | 0.125 | 6.175 |
| Box inpainting | DAPS | 24.285 | 0.746 | 0.222 | 22.352 |
| Box inpainting | SITCOM | 25.275 | 0.831 | 0.179 | 17.697 |
| Box inpainting | DMPlug | 23.526 | 0.790 | 0.281 | 103.76 |
| Box inpainting | DCDP | 21.721 | 0.766 | 0.219 | 8.147 |
| Random inpainting | CLAMP | 32.955 | 0.918 | 0.140 | 6.171 |
| Random inpainting | DAPS | 30.078 | 0.791 | 0.214 | 21.576 |
| Random inpainting | SITCOM | 31.431 | 0.871 | 0.173 | 25.382 |
| Random inpainting | DMPlug | 30.825 | 0.865 | 0.231 | 122.143 |
| Random inpainting | DCDP | 27.240 | 0.788 | 0.229 | 8.130 |
| Gaussian deblurring | CLAMP | 29.010 | 0.827 | 0.234 | 6.343 |
| Gaussian deblurring | DAPS | 28.762 | 0.767 | 0.254 | 37.730 |
| Gaussian deblurring | SITCOM | 29.359 | 0.826 | 0.236 | 25.491 |
| Gaussian deblurring | DMPlug | 27.95 | 0.770 | 0.278 | 181.695 |
| Gaussian deblurring | DCDP | 27.553 | 0.761 | 0.245 | 4.934 |
| Motion deblurring | CLAMP | 31.641 | 0.880 | 0.183 | 6.322 |
| Motion deblurring | DAPS | 30.954 | 0.823 | 0.202 | 38.606 |
| Motion deblurring | SITCOM | 31.501 | 0.866 | 0.167 | 26.184 |
| Motion deblurring | DMPlug | 29.272 | 0.818 | 0.260 | 152.699 |
| Motion deblurring | DCDP | 25.468 | 0.566 | 0.365 | 5.007 |
| Phase retrieval | CLAMP | 30.233 | 0.854 | 0.192 | 28.660 |
| Phase retrieval | DAPS | 30.103 | 0.796 | 0.208 | 98.054 |
| Phase retrieval | SITCOM | 28.782 | 0.791 | 0.239 | 24.584 |
| Phase retrieval | DCDP | 24.036 | 0.677 | 0.310 | 102.386 |
| Nonlinear deblurring | CLAMP | 29.961 | 0.856 | 0.166 | 33.946 |
| Nonlinear deblurring | DAPS | 28.868 | 0.780 | 0.223 | 755.725 |
| Nonlinear deblurring | SITCOM | 29.519 | 0.812 | 0.207 | 27.167 |
| Nonlinear deblurring | DMPlug | 28.298 | 0.811 | 0.249 | 291.221 |
| Nonlinear deblurring | DCDP | 27.879 | 0.795 | 0.204 | 269.786 |
| High dynamic range | CLAMP | 29.488 | 0.891 | 0.133 | 26.610 |
| High dynamic range | DAPS | 27.149 | 0.834 | 0.196 | 76.724 |
| High dynamic range | SITCOM | 27.205 | 0.777 | 0.226 | 33.887 |
| High dynamic range | DMPlug | 25.507 | 0.777 | 0.264 | 221.418 |
| Task | Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Time (s) ↓ |
|---|---|---|---|---|---|
| 4× super-resolution | CLAMP | 26.981 | 0.742 | 0.290 | 23.587 |
| 4× super-resolution | DAPS | 25.512 | 0.636 | 0.374 | 65.580 |
| 4× super-resolution | SITCOM | 26.519 | 0.716 | 0.309 | 60.778 |
| 4× super-resolution | DMPlug | 25.091 | 0.660 | 0.347 | 238.433 |
| 4× super-resolution | DCDP | 24.358 | 0.640 | 0.369 | 9.190 |
| Box inpainting | CLAMP | 21.547 | 0.825 | 0.188 | 23.427 |
| Box inpainting | DAPS | 21.234 | 0.720 | 0.270 | 57.108 |
| Box inpainting | SITCOM | 20.698 | 0.726 | 0.241 | 66.709 |
| Box inpainting | DMPlug | 19.455 | 0.667 | 0.384 | 253.946 |
| Box inpainting | DCDP | 17.741 | 0.662 | 0.301 | 17.214 |
| Random inpainting | CLAMP | 30.215 | 0.866 | 0.159 | 23.419 |
| Random inpainting | DAPS | 27.350 | 0.721 | 0.251 | 56.932 |
| Random inpainting | SITCOM | 29.008 | 0.821 | 0.183 | 95.962 |
| Random inpainting | DMPlug | 27.023 | 0.739 | 0.317 | 248.146 |
| Random inpainting | DCDP | 23.284 | 0.606 | 0.355 | 17.518 |
| Gaussian deblurring | CLAMP | 26.388 | 0.710 | 0.333 | 23.924 |
| Gaussian deblurring | DAPS | 25.932 | 0.655 | 0.355 | 74.984 |
| Gaussian deblurring | SITCOM | 26.741 | 0.719 | 0.315 | 95.161 |
| Gaussian deblurring | DMPlug | 24.082 | 0.613 | 0.389 | 313.680 |
| Gaussian deblurring | DCDP | 23.499 | 0.542 | 0.449 | 9.573 |
| Motion deblurring | CLAMP | 29.141 | 0.812 | 0.243 | 23.805 |
| Motion deblurring | DAPS | 28.623 | 0.764 | 0.246 | 78.000 |
| Motion deblurring | SITCOM | 29.321 | 0.811 | 0.213 | 95.529 |
| Motion deblurring | DMPlug | 25.211 | 0.660 | 0.365 | 284.413 |
| Motion deblurring | DCDP | 17.771 | 0.248 | 0.574 | 9.488 |
| Phase retrieval | CLAMP | 19.680 | 0.459 | 0.478 | 104.628 |
| Phase retrieval | DAPS | 22.354 | 0.519 | 0.402 | 241.113 |
| Phase retrieval | SITCOM | 18.481 | 0.383 | 0.524 | 94.187 |
| Phase retrieval | DCDP | 15.953 | 0.283 | 0.595 | 195.193 |
| Nonlinear deblurring | CLAMP | 28.036 | 0.788 | 0.212 | 82.427 |
| Nonlinear deblurring | DAPS | 27.537 | 0.734 | 0.266 | 884.119 |
| Nonlinear deblurring | SITCOM | 28.097 | 0.774 | 0.221 | 97.029 |
| Nonlinear deblurring | DMPlug | 25.086 | 0.679 | 0.317 | 668.641 |
| Nonlinear deblurring | DCDP | 25.726 | 0.664 | 0.280 | 367.695 |
| High dynamic range | CLAMP | 28.804 | 0.886 | 0.136 | 104.38 |
| High dynamic range | DAPS | 26.568 | 0.819 | 0.198 | 216.701 |
| High dynamic range | SITCOM | 26.449 | 0.774 | 0.222 | 129.681 |
| High dynamic range | DMPlug | 23.244 | 0.715 | 0.308 | 564.501 |
All rows from Table 3, separated by dataset. These use different priors from the pixel tables.
| Task | Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Time (s) ↓ |
|---|---|---|---|---|---|
| 4× super-resolution | CLAMP | 28.933 | 0.829 | 0.233 | 34.255 |
| 4× super-resolution | PSLD | 24.627 | 0.628 | 0.377 | 69.290 |
| 4× super-resolution | ReSample | 23.317 | 0.456 | 0.507 | 300.061 |
| 4× super-resolution | LatentDAPS | 29.204 | 0.825 | 0.272 | 84.460 |
| Box inpainting | CLAMP | 25.151 | 0.837 | 0.236 | 35.369 |
| Box inpainting | PSLD | 21.847 | 0.612 | 0.370 | 69.045 |
| Box inpainting | ReSample | 19.978 | 0.796 | 0.247 | 296.326 |
| Box inpainting | LatentDAPS | 23.474 | 0.742 | 0.369 | 85.823 |
| Random inpainting | CLAMP | 31.433 | 0.894 | 0.193 | 35.263 |
| Random inpainting | PSLD | 24.280 | 0.635 | 0.346 | 68.915 |
| Random inpainting | ReSample | 29.950 | 0.842 | 0.201 | 307.874 |
| Random inpainting | LatentDAPS | 26.036 | 0.743 | 0.385 | 85.840 |
| Gaussian deblurring | CLAMP | 28.269 | 0.801 | 0.272 | 35.011 |
| Gaussian deblurring | PSLD | 22.015 | 0.503 | 0.444 | 70.098 |
| Gaussian deblurring | ReSample | 26.357 | 0.662 | 0.329 | 355.885 |
| Gaussian deblurring | LatentDAPS | 25.717 | 0.732 | 0.384 | 87.407 |
| Motion deblurring | CLAMP | 29.959 | 0.840 | 0.244 | 36.185 |
| Motion deblurring | PSLD | 24.416 | 0.603 | 0.346 | 70.041 |
| Motion deblurring | ReSample | 28.744 | 0.754 | 0.262 | 347.756 |
| Motion deblurring | LatentDAPS | 26.646 | 0.757 | 0.361 | 87.409 |
| Phase retrieval | CLAMP | 28.194 | 0.802 | 0.271 | 133.941 |
| Phase retrieval | ReSample | 24.676 | 0.606 | 0.412 | 320.911 |
| Phase retrieval | LatentDAPS | 23.199 | 0.692 | 0.421 | 177.730 |
| Nonlinear deblurring | CLAMP | 29.243 | 0.836 | 0.243 | 146.718 |
| Nonlinear deblurring | ReSample | 28.748 | 0.797 | 0.236 | 843.212 |
| Nonlinear deblurring | LatentDAPS | 25.152 | 0.726 | 0.387 | 194.014 |
| High dynamic range | CLAMP | 26.245 | 0.816 | 0.279 | 134.060 |
| High dynamic range | ReSample | 25.038 | 0.822 | 0.239 | 291.372 |
| High dynamic range | LatentDAPS | 20.789 | 0.630 | 0.512 | 174.976 |
| Task | Method | PSNR ↑ | SSIM ↑ | LPIPS ↓ | Time (s) ↓ |
|---|---|---|---|---|---|
| 4× super-resolution | CLAMP | 26.465 | 0.726 | 0.335 | 37.353 |
| 4× super-resolution | PSLD | 16.656 | 0.291 | 0.541 | 102.757 |
| 4× super-resolution | ReSample | 22.152 | 0.423 | 0.470 | 269.078 |
| 4× super-resolution | LatentDAPS | 26.189 | 0.702 | 0.388 | 86.315 |
| Box inpainting | CLAMP | 20.836 | 0.731 | 0.342 | 37.393 |
| Box inpainting | PSLD | 18.762 | 0.424 | 0.549 | 99.832 |
| Box inpainting | ReSample | 18.087 | 0.713 | 0.309 | 265.139 |
| Box inpainting | LatentDAPS | 22.818 | 0.561 | 0.543 | 88.725 |
| Random inpainting | CLAMP | 28.181 | 0.806 | 0.262 | 37.396 |
| Random inpainting | PSLD | 20.690 | 0.436 | 0.550 | 98.449 |
| Random inpainting | ReSample | 26.916 | 0.756 | 0.255 | 323.283 |
| Random inpainting | LatentDAPS | 19.630 | 0.588 | 0.522 | 86.092 |
| Gaussian deblurring | CLAMP | 25.443 | 0.662 | 0.411 | 38.110 |
| Gaussian deblurring | PSLD | 19.591 | 0.329 | 0.555 | 109.263 |
| Gaussian deblurring | ReSample | 23.530 | 0.497 | 0.439 | 338.281 |
| Gaussian deblurring | LatentDAPS | 22.695 | 0.567 | 0.549 | 86.016 |
| Motion deblurring | CLAMP | 27.119 | 0.730 | 0.348 | 38.118 |
| Motion deblurring | PSLD | 20.761 | 0.376 | 0.518 | 98.400 |
| Motion deblurring | ReSample | 24.845 | 0.579 | 0.404 | 347.756 |
| Motion deblurring | LatentDAPS | 23.557 | 0.592 | 0.513 | 89.050 |
| Phase retrieval | CLAMP | 20.133 | 0.483 | 0.458 | 119.078 |
| Phase retrieval | ReSample | 16.913 | 0.320 | 0.608 | 319.601 |
| Phase retrieval | LatentDAPS | 17.067 | 0.446 | 0.624 | 192.787 |
| Nonlinear deblurring | CLAMP | 25.889 | 0.716 | 0.325 | 158.452 |
| Nonlinear deblurring | ReSample | 26.047 | 0.697 | 0.301 | 686.128 |
| Nonlinear deblurring | LatentDAPS | 22.516 | 0.568 | 0.530 | 198.074 |
| High dynamic range | CLAMP | 28.885 | 0.887 | 0.130 | 117.544 |
| High dynamic range | ReSample | 24.950 | 0.783 | 0.257 | 273.695 |
| High dynamic range | LatentDAPS | 19.394 | 0.469 | 0.641 | 180.929 |


The paper also reports multi-coil MRI reconstruction using Poisson-disc undersampling. Its MRI comparison is a separate experiment with a domain-specific prior. See Section 4.3 for quantitative results and the MRI appendix for the protocol.

CLAMP contributes a different likelihood correction. DAPS uses decoupled noise annealing, SITCOM uses step-wise consistency optimization, DMPlug optimizes a diffusion input, and DCDP separates data consistency from diffusion purification. The paper's latent comparisons include LatentDAPS, ReSample, and PSLD. Compared implementations and settings.
For FFHQ 4× super-resolution in Table 1, CLAMP reports 29.515 dB PSNR at 6.743 s; DAPS reports 28.619 dB at 28.257 s. DCDP is faster at 4.719 s, with 27.611 dB.
For FFHQ nonlinear deblurring, CLAMP reports 29.961 dB at 33.946 s. SITCOM is faster at 27.167 s and reports 29.519 dB. Use the accompanying SSIM and LPIPS values when judging quality.
For ImageNet phase retrieval, DAPS reports better PSNR, SSIM, and LPIPS than CLAMP, with a longer runtime: 241.113 s versus 104.628 s.
See the paper's limitations appendix for further discussion.
Code includes a pixel-space dependency manifest, setup checks, task commands, and documented outputs. Checkpoints and datasets are external downloads; they are not bundled with the source release.
--cudnn false.config.yaml, eval.md, and metrics.json.To run another task, use the published CLI configurations and the reproduction guide. Record image IDs, checkpoints, measurement settings, seed, GPU/backend, and the code version with new results.
Please cite the conference paper when using CLAMP. The official title and author order are preserved. Machine-readable citation metadata.
@inproceedings{shin2026clamp,
author = {Seunghyeok Shin and Minwoo Kim and Dabin Kim and Hongki Lim},
title = {Geometry-Correct Diffusion Posterior Sampling with Denoiser-Pullback Curvature Guidance and Manifold-Aligned Damping},
booktitle = {Proceedings of the 43rd International Conference on Machine Learning},
series = {Proceedings of Machine Learning Research},
volume = {306},
year = {2026},
publisher = {PMLR},
url = {https://icml.cc/virtual/2026/poster/60728}
}