[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-bahjat-kawar--ddrm":3,"tool-bahjat-kawar--ddrm":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,35],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":75,"owner_url":76,"languages":77,"stars":82,"forks":83,"last_commit_at":84,"license":85,"difficulty_score":10,"env_os":86,"env_gpu":87,"env_ram":86,"env_deps":88,"category_tags":93,"github_topics":94,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":103,"updated_at":104,"faqs":105,"releases":141},4301,"bahjat-kawar\u002Fddrm","ddrm","[NeurIPS 2022] Denoising Diffusion Restoration Models -- Official Code Repository","ddrm 是一个基于去噪扩散概率模型（DDPM）的开源算法，专为解决各类线性逆问题而设计。它无需针对特定任务进行额外的监督训练，即可高效地从受损或退化的观测数据中恢复出高质量原始图像。无论是图像超分辨率、去模糊、去噪、修复缺失区域，还是压缩感知重建，ddrm 都能利用预训练的生成模型灵活应对。\n\n该工具的核心优势在于其“零样本”适应能力：直接复用现有的预训练扩散模型，通过独特的推理过程处理不同类型的图像退化，大幅降低了重新训练模型的成本与门槛。这一特性使其在学术研究和工程应用中极具价值，特别适合研究人员探索生成模型在逆问题中的潜力，以及开发者快速构建图像恢复原型系统。对于需要处理复杂图像复原任务的设计师或工程师，ddrm 也提供了灵活的命令行接口和详细的配置选项，支持多种数据集和退化类型。作为 NeurIPS 2022 的获奖成果，ddrm 将前沿理论与实用代码紧密结合，为图像复原领域提供了一套高效、通用的解决方案。","# Denoising Diffusion Restoration Models (DDRM)\n\n[arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.11793) | [PDF](https:\u002F\u002Fddrm-ml.github.io\u002FDDRM-paper.pdf) | [Project Website](https:\u002F\u002Fddrm-ml.github.io\u002F)\n\n[Bahjat Kawar](https:\u002F\u002Fbahjat-kawar.github.io\u002F)\u003Csup>1\u003C\u002Fsup>, [Michael Elad](https:\u002F\u002Felad.cs.technion.ac.il\u002F)\u003Csup>1\u003C\u002Fsup>, [Stefano Ermon](http:\u002F\u002Fcs.stanford.edu\u002F~ermon)\u003Csup>2\u003C\u002Fsup>, [Jiaming Song](http:\u002F\u002Ftsong.me)\u003Csup>2\u003C\u002Fsup>\u003Cbr \u002F>\n\u003Csup>1\u003C\u002Fsup> Technion, \u003Csup>2\u003C\u002Fsup>Stanford University\n\nDDRM uses pre-trained [DDPMs](https:\u002F\u002Fhojonathanho.github.io\u002Fdiffusion\u002F) for solving general linear inverse problems. It does so efficiently and without problem-specific supervised training.\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbahjat-kawar_ddrm_readme_b3628df255ce.png\" alt=\"ddrm-overview\" style=\"width:800px;\"\u002F>\n\n## Running the Experiments\nThe code has been tested on PyTorch 1.8 and PyTorch 1.10. Please refer to `environment.yml` for a list of conda\u002Fmamba environments that can be used to run the code. \n\n### Pretrained models\nWe use pretrained models from [https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion), [https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion](https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion) and [https:\u002F\u002Fgithub.com\u002Fermongroup\u002FSDEdit](https:\u002F\u002Fgithub.com\u002Fermongroup\u002FSDEdit)\n\nWe use 1,000 images from the ImageNet validation set for comparison with other methods. The list of images is taken from [https:\u002F\u002Fgithub.com\u002FXingangPan\u002Fdeep-generative-prior\u002F](https:\u002F\u002Fgithub.com\u002FXingangPan\u002Fdeep-generative-prior\u002F)\n\nThe models and datasets are placed in the `exp\u002F` folder as follows:\n```bash\n\u003Cexp> # a folder named by the argument `--exp` given to main.py\n├── datasets # all dataset files\n│   ├── celeba # all CelebA files\n│   ├── imagenet # all ImageNet files\n│   ├── ood # out of distribution ImageNet images\n│   ├── ood_bedroom # out of distribution bedroom images\n│   ├── ood_cat # out of distribution cat images\n│   └── ood_celeba # out of distribution CelebA images\n├── logs # contains checkpoints and samples produced during training\n│   ├── celeba\n│   │   └── celeba_hq.ckpt # the checkpoint file for CelebA-HQ\n│   ├── diffusion_models_converted\n│   │   └── ema_diffusion_lsun_\u003Ccategory>_model\n│   │       └── model-x.ckpt # the checkpoint file saved at the x-th training iteration\n│   ├── imagenet # ImageNet checkpoint files\n│   │   ├── 256x256_classifier.pt\n│   │   ├── 256x256_diffusion.pt\n│   │   ├── 256x256_diffusion_uncond.pt\n│   │   ├── 512x512_classifier.pt\n│   │   └── 512x512_diffusion.pt\n├── image_samples # contains generated samples\n└── imagenet_val_1k.txt # list of the 1k images used in ImageNet-1K.\n```\n\nWe note that some models may not generate high-quality samples in unconditional image synthesis; this is especially the case for the pre-trained CelebA model.\n\n### Sampling from the model\n\nThe general command to sample from the model is as follows:\n```\npython main.py --ni --config {CONFIG}.yml --doc {DATASET} --timesteps {STEPS} --eta {ETA} --etaB {ETA_B} --deg {DEGRADATION} --sigma_0 {SIGMA_0} -i {IMAGE_FOLDER}\n```\nwhere the following are options\n- `ETA` is the eta hyperparameter in the paper. (default: `0.85`)\n- `ETA_B` is the eta_b hyperparameter in the paper. (default: `1`)\n- `STEPS` controls how many timesteps used in the process.\n- `DEGREDATION` is the type of degredation allowed. (One of: `cs2`, `cs4`, `inp`, `inp_lolcat`, `inp_lorem`, `deno`, `deblur_uni`, `deblur_gauss`, `deblur_aniso`, `sr2`, `sr4`, `sr8`, `sr16`, `sr_bicubic4`, `sr_bicubic8`, `sr_bicubic16` `color`)\n- `SIGMA_0` is the noise observed in y.\n- `CONFIG` is the name of the config file (see `configs\u002F` for a list), including hyperparameters such as batch size and network architectures.\n- `DATASET` is the name of the dataset used, to determine where the checkpoint file is found.\n- `IMAGE_FOLDER` is the name of the folder the resulting images will be placed in (default: `images`)\n\nFor example, for sampling noisy 4x super resolution from the ImageNet 256x256 unconditional model using 20 steps:\n```\npython main.py --ni --config imagenet_256.yml --doc imagenet --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05\n```\nThe generated images are place in the `\u003Cexp>\u002Fimage_samples\u002F{IMAGE_FOLDER}` folder, where `orig_{id}.png`, `y0_{id}.png`, `{id}_-1.png` refer to the original, degraded, restored images respectively.\n\nThe config files contain a setting controlling whether to test on samples from the trained dataset's distribution or not.\n\n### Images for Demonstration Purposes\nA list of images for demonstration purposes can be found here: [https:\u002F\u002Fgithub.com\u002Fjiamings\u002Fddrm-exp-datasets](https:\u002F\u002Fgithub.com\u002Fjiamings\u002Fddrm-exp-datasets). Place them under the `\u003Cexp>\u002Fdatasets` folder, and these commands can be excecuted directly:\n\nCelebA noisy 4x super-resolution:\n```\npython main.py --ni --config celeba_hq.yml --doc celeba --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05 -i celeba_hq_sr4_sigma_0.05\n```\n\nGeneral content images uniform deblurring:\n```\npython main.py --ni --config imagenet_256.yml --doc imagenet_ood --timesteps 20 --eta 0.85 --etaB 1 --deg deblur_uni --sigma_0 0.0 -i imagenet_sr4_sigma_0.0\n```\n\nBedroom noisy 4x super-resolution:\n```\npython main.py --ni --config bedroom.yml --doc bedroom --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05 -i bedroom_sr4_sigma_0.05\n```\n\n## References and Acknowledgements\n```\n@inproceedings{kawar2022denoising,\n    title={Denoising Diffusion Restoration Models},\n    author={Bahjat Kawar and Michael Elad and Stefano Ermon and Jiaming Song},\n    booktitle={Advances in Neural Information Processing Systems},\n    year={2022}\n}\n```\n\nThis implementation is based on \u002F inspired by:\n- [https:\u002F\u002Fgithub.com\u002Fhojonathanho\u002Fdiffusion](https:\u002F\u002Fgithub.com\u002Fhojonathanho\u002Fdiffusion) (the DDPM TensorFlow repo),\n- [https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion](https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion) (PyTorch helper that loads the DDPM model), and\n- [https:\u002F\u002Fgithub.com\u002Fermongroup\u002Fddim](https:\u002F\u002Fgithub.com\u002Fermongroup\u002Fddim) (code structure)\n","# 去噪扩散修复模型 (DDRM)\n\n[arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2201.11793) | [PDF](https:\u002F\u002Fddrm-ml.github.io\u002FDDRM-paper.pdf) | [项目官网](https:\u002F\u002Fddrm-ml.github.io\u002F)\n\n[Bahjat Kawar](https:\u002F\u002Fbahjat-kawar.github.io\u002F)\u003Csup>1\u003C\u002Fsup>, [Michael Elad](https:\u002F\u002Felad.cs.technion.ac.il\u002F)\u003Csup>1\u003C\u002Fsup>, [Stefano Ermon](http:\u002F\u002Fcs.stanford.edu\u002F~ermon)\u003Csup>2\u003C\u002Fsup>, [Jiaming Song](http:\u002F\u002Ftsong.me)\u003Csup>2\u003C\u002Fsup>\u003Cbr \u002F>\n\u003Csup>1\u003C\u002Fsup> 特克尼昂理工学院，\u003Csup>2\u003C\u002Fsup> 斯坦福大学\n\nDDRM 利用预训练的 [DDPMs](https:\u002F\u002Fhojonathanho.github.io\u002Fdiffusion\u002F) 来求解一般的线性逆问题。它能够高效地完成这一任务，且无需针对特定问题进行有监督训练。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbahjat-kawar_ddrm_readme_b3628df255ce.png\" alt=\"ddrm-overview\" style=\"width:800px;\"\u002F>\n\n## 运行实验\n该代码已在 PyTorch 1.8 和 1.10 上测试通过。请参考 `environment.yml` 文件，了解可用于运行代码的 conda\u002Fmamba 环境列表。\n\n### 预训练模型\n我们使用来自以下仓库的预训练模型：[https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fguided-diffusion)、[https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion](https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion) 和 [https:\u002F\u002Fgithub.com\u002Fermongroup\u002FSDEdit](https:\u002F\u002Fgithub.com\u002Fermongroup\u002FSDEdit)。\n\n为了与其他方法进行比较，我们使用了 ImageNet 验证集中的 1,000 张图像。这些图像的列表来自 [https:\u002F\u002Fgithub.com\u002FXingangPan\u002Fdeep-generative-prior\u002F](https:\u002F\u002Fgithub.com\u002FXingangPan\u002Fdeep-generative-prior\u002F)。\n\n模型和数据集被放置在 `exp\u002F` 文件夹中，结构如下：\n```bash\n\u003Cexp> # 由 main.py 的 --exp 参数命名的文件夹\n├── datasets # 所有数据集文件\n│   ├── celeba # 所有 CelebA 文件\n│   ├── imagenet # 所有 ImageNet 文件\n│   ├── ood # 分布外的 ImageNet 图像\n│   ├── ood_bedroom # 分布外的卧室图像\n│   ├── ood_cat # 分布外的猫图像\n│   └── ood_celeba # 分布外的 CelebA 图像\n├── logs # 包含训练过程中生成的检查点和样本\n│   ├── celeba\n│   │   └── celeba_hq.ckpt # CelebA-HQ 的检查点文件\n│   ├── diffusion_models_converted\n│   │   └── ema_diffusion_lsun_\u003Ccategory>_model\n│   │       └── model-x.ckpt # 第 x 次训练迭代保存的检查点文件\n│   ├── imagenet # ImageNet 的检查点文件\n│   │   ├── 256x256_classifier.pt\n│   │   ├── 256x256_diffusion.pt\n│   │   ├── 256x256_diffusion_uncond.pt\n│   │   ├── 512x512_classifier.pt\n│   │   └── 512x512_diffusion.pt\n├── image_samples # 包含生成的样本\n└── imagenet_val_1k.txt # ImageNet-1K 中使用的 1,000 张图像的列表。\n```\n\n需要注意的是，某些模型在无条件图像生成时可能无法生成高质量的样本，尤其是预训练的 CelebA 模型。\n\n### 从模型中采样\n\n从模型中采样的通用命令如下：\n```\npython main.py --ni --config {CONFIG}.yml --doc {DATASET} --timesteps {STEPS} --eta {ETA} --etaB {ETA_B} --deg {DEGRADATION} --sigma_0 {SIGMA_0} -i {IMAGE_FOLDER}\n```\n其中各选项含义如下：\n- `ETA` 是论文中的 eta 超参数。（默认值：`0.85`）\n- `ETA_B` 是论文中的 eta_b 超参数。（默认值：`1`）\n- `STEPS` 控制采样过程中使用的步数。\n- `DEGREDATION` 是允许的退化类型。（可选：`cs2`、`cs4`、`inp`、`inp_lolcat`、`inp_lorem`、`deno`、`deblur_uni`、`deblur_gauss`、`deblur_aniso`、`sr2`、`sr4`、`sr8`、`sr16`、`sr_bicubic4`、`sr_bicubic8`、`sr_bicubic16`、`color`）\n- `SIGMA_0` 是 y 中观察到的噪声水平。\n- `CONFIG` 是配置文件的名称（详见 `configs\u002F` 目录），包含批量大小、网络架构等超参数。\n- `DATASET` 是所使用的数据集名称，用于确定检查点文件的位置。\n- `IMAGE_FOLDER` 是存放生成图像的文件夹名称。（默认值：`images`）\n\n例如，使用 ImageNet 256x256 无条件模型，对加噪图像进行 4 倍超分辨率重建，采用 20 步采样：\n```\npython main.py --ni --config imagenet_256.yml --doc imagenet --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05\n```\n\n生成的图像将被放置在 `\u003Cexp>\u002Fimage_samples\u002F{IMAGE_FOLDER}` 文件夹中，其中 `orig_{id}.png`、`y0_{id}.png`、`{id}_-1.png` 分别对应原始图像、退化图像和恢复后的图像。\n\n配置文件中包含一个设置，用于控制是否在训练数据集的分布内进行测试。\n\n### 演示用图像\n演示用图像列表可在以下链接找到：[https:\u002F\u002Fgithub.com\u002Fjiamings\u002Fddrm-exp-datasets](https:\u002F\u002Fgithub.com\u002Fjiamings\u002Fddrm-exp-datasets)。将其放置在 `\u003Cexp>\u002Fdatasets` 文件夹下，即可直接执行以下命令：\n\nCelebA 加噪 4 倍超分辨率：\n```\npython main.py --ni --config celeba_hq.yml --doc celeba --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05 -i celeba_hq_sr4_sigma_0.05\n```\n\n通用内容图像均匀去模糊：\n```\npython main.py --ni --config imagenet_256.yml --doc imagenet_ood --timesteps 20 --eta 0.85 --etaB 1 --deg deblur_uni --sigma_0 0.0 -i imagenet_sr4_sigma_0.0\n```\n\n卧室加噪 4 倍超分辨率：\n```\npython main.py --ni --config bedroom.yml --doc bedroom --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05 -i bedroom_sr4_sigma_0.05\n```\n\n## 参考文献与致谢\n```\n@inproceedings{kawar2022denoising,\n    title={Denoising Diffusion Restoration Models},\n    author={Bahjat Kawar and Michael Elad and Stefano Ermon and Jiaming Song},\n    booktitle={Advances in Neural Information Processing Systems},\n    year={2022}\n}\n```\n\n本实现基于或受以下项目启发：\n- [https:\u002F\u002Fgithub.com\u002Fhojonathanho\u002Fdiffusion](https:\u002F\u002Fgithub.com\u002Fhojonathanho\u002Fdiffusion)（DDPM TensorFlow 仓库），\n- [https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion](https:\u002F\u002Fgithub.com\u002Fpesser\u002Fpytorch_diffusion)（用于加载 DDPM 模型的 PyTorch 工具），\n- [https:\u002F\u002Fgithub.com\u002Fermongroup\u002Fddim](https:\u002F\u002Fgithub.com\u002Fermongroup\u002Fddim)（代码结构）。","# DDRM 快速上手指南\n\n去噪扩散恢复模型（DDRM）利用预训练的 DDPM 模型高效解决各类线性逆问题（如超分辨率、去模糊、修复等），无需针对特定问题进行监督训练。\n\n## 环境准备\n\n*   **系统要求**：Linux 或 macOS（Windows 需自行配置 PyTorch 环境）。\n*   **Python 版本**：推荐 Python 3.8+。\n*   **核心依赖**：\n    *   PyTorch 1.8 或 1.10（已测试版本）。\n    *   Conda 或 Mamba（推荐用于管理虚拟环境）。\n*   **国内加速建议**：\n    *   安装 Conda 包时推荐使用清华源或中科大源。\n    *   下载预训练模型若遇网络问题，可尝试使用镜像工具或手动下载后放入指定目录。\n\n## 安装步骤\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm.git\n    cd ddrm\n    ```\n\n2.  **创建并激活虚拟环境**\n    使用项目提供的 `environment.yml` 创建环境（建议修改 yml 中的源为国内镜像以加速）：\n    ```bash\n    # 使用 conda\n    conda env create -f environment.yml\n    conda activate ddrm\n\n    # 或使用 mamba (速度更快)\n    mamba env create -f environment.yml\n    mamba activate ddrm\n    ```\n\n3.  **准备预训练模型与数据**\n    代码依赖 OpenAI Guided Diffusion 等项目的预训练权重。请确保 `exp\u002F` 目录结构如下（需手动下载权重文件放入对应文件夹）：\n\n    ```text\n    exp\u002F\n    ├── datasets\u002F          # 放置数据集 (CelebA, ImageNet 等)\n    ├── logs\u002F              # 放置预训练权重 (.ckpt 或 .pt 文件)\n    │   ├── celeba\u002F\n    │   ├── diffusion_models_converted\u002F\n    │   └── imagenet\u002F\n    └── imagenet_val_1k.txt\n    ```\n    *注：具体模型下载地址请参考原文 README 中的 GitHub 链接。演示用图片数据集可从 [ddrm-exp-datasets](https:\u002F\u002Fgithub.com\u002Fjiamings\u002Fddrm-exp-datasets) 获取并放入 `exp\u002Fdatasets`。*\n\n## 基本使用\n\n以下命令展示了如何使用预训练模型进行图像恢复。生成的图像将保存在 `\u003Cexp>\u002Fimage_samples\u002F{IMAGE_FOLDER}` 目录下。\n\n### 通用命令格式\n\n```bash\npython main.py --ni --config {CONFIG}.yml --doc {DATASET} --timesteps {STEPS} --eta {ETA} --etaB {ETA_B} --deg {DEGRADATION} --sigma_0 {SIGMA_0} -i {IMAGE_FOLDER}\n```\n\n**关键参数说明：**\n*   `--config`: 配置文件名（位于 `configs\u002F` 目录），定义模型架构和批次大小。\n*   `--doc`: 数据集名称，用于定位对应的检查点文件。\n*   `--timesteps`: 采样步数（默认 20 步即可取得较好效果）。\n*   `--deg`: 退化类型，可选值包括：\n    *   超分：`sr2`, `sr4`, `sr8`, `sr16`, `sr_bicubic4` 等\n    *   去模糊：`deblur_uni`, `deblur_gauss`, `deblur_aniso`\n    *   修复：`inp`, `inp_lolcat`, `inp_lorem`\n    *   去噪：`deno`\n    *   压缩感知：`cs2`, `cs4`\n*   `--sigma_0`: 观测噪声强度。\n\n### 使用示例\n\n**示例 1：ImageNet 图像进行 4 倍超分辨率（带噪声）**\n使用 ImageNet 256x256 无条件模型，20 步采样，噪声标准差 0.05。\n\n```bash\npython main.py --ni --config imagenet_256.yml --doc imagenet --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05\n```\n\n**示例 2：CelebA 人脸图像进行 4 倍超分辨率**\n需先将演示数据放入 `exp\u002Fdatasets` 目录。\n\n```bash\npython main.py --ni --config celeba_hq.yml --doc celeba --timesteps 20 --eta 0.85 --etaB 1 --deg sr4 --sigma_0 0.05 -i celeba_hq_sr4_sigma_0.05\n```\n\n**示例 3：通用图像均匀去模糊**\n\n```bash\npython main.py --ni --config imagenet_256.yml --doc imagenet_ood --timesteps 20 --eta 0.85 --etaB 1 --deg deblur_uni --sigma_0 0.0 -i imagenet_sr4_sigma_0.0\n```\n\n**输出说明：**\n运行完成后，请在 `exp\u002Fimage_samples\u002F{IMAGE_FOLDER}` 中查看结果：\n*   `orig_{id}.png`: 原始清晰图像（Ground Truth，如有）。\n*   `y0_{id}.png`: 退化后的输入图像。\n*   `{id}_-1.png`: **DDRM 恢复后的最终图像**。","一家数字档案馆正在紧急修复一批因扫描设备老化而严重模糊且带有噪点的历史照片，需要在不重新拍摄的前提下恢复细节。\n\n### 没有 ddrm 时\n- 团队必须针对每种退化类型（如高斯模糊、运动模糊或特定噪声）单独收集大量配对数据并训练专用模型，耗时数周且算力成本极高。\n- 传统去噪算法在去除噪点的同时往往抹平纹理，导致人脸五官模糊或建筑砖瓦细节丢失，修复效果显得“塑料感”过重。\n- 面对未知的复杂混合退化情况，现有方法泛化能力差，工程师需要反复手动调整参数尝试不同模型，效率极低且难以保证一致性。\n- 若需处理超分辨率任务，通常需要先降噪再放大，分步处理导致误差累积，最终图像出现伪影或结构失真。\n\n### 使用 ddrm 后\n- 直接利用预训练的 DDPM 大模型，无需任何针对特定退化任务的监督训练，几分钟内即可部署解决去噪、去模糊及超分辨率等多种问题。\n- ddrm 基于扩散概率模型的特性，能在恢复清晰度的同时“幻觉”出符合物理规律的高频纹理，使老照片的皮肤质感和衣物褶皱自然逼真。\n- 通过简单修改命令行中的 `--deg` 参数（如 `deblur_gauss` 或 `sr4`），即可灵活应对各种线性逆问题，统一工作流大幅降低运维复杂度。\n- 端到端的恢复过程避免了分步处理的误差累积，即使在低信噪比下也能重建出结构完整、细节丰富的 4 倍超高分辨率图像。\n\nddrm 的核心价值在于将原本需要定制化训练的复杂图像复原任务，转化为仅需预训练模型即可高效解决的通用流程，极大降低了技术门槛与时间成本。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fbahjat-kawar_ddrm_b3628df2.png","bahjat-kawar","Bahjat Kawar","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fbahjat-kawar_a68a80f2.png",null,"https:\u002F\u002Fgithub.com\u002Fbahjat-kawar",[78],{"name":79,"color":80,"percentage":81},"Python","#3572A5",100,664,69,"2026-03-31T06:36:23","MIT","未说明","必需（基于 PyTorch 和扩散模型特性推断），具体型号和显存大小未说明，CUDA 版本未说明",{"notes":89,"python":86,"dependencies":90},"代码已在 PyTorch 1.8 和 1.10 版本上测试通过。建议使用 README 中提供的 `environment.yml` 文件通过 conda 或 mamba 创建运行环境。需要预先下载来自 OpenAI、pytorch_diffusion 或 SDEdit 的预训练模型文件，并按特定目录结构放置在 `exp\u002F` 文件夹中。部分预训练模型（如 CelebA）在无条件下生成的图像质量可能不高。",[91,92],"torch>=1.8","conda\u002Fmamba (用于环境管理)",[15,14],[95,96,97,98,99,100,101,102],"diffusion","deblurring","diffusion-models","inpainting","inverse-problems","score-based","super-resolution","variational-inference","2026-03-27T02:49:30.150509","2026-04-06T17:17:15.761396",[106,111,116,121,126,131,136],{"id":107,"question_zh":108,"answer_zh":109,"source_url":110},19584,"运行代码时遇到 CUDA solver failure (cusolver error) 错误怎么办？","这通常是由于本地安装的 CUDA 版本与项目提供的环境文件（environment.yml）中使用的 CUDA 版本不匹配导致的。作者实验中使用的是 CUDA 11 版本。请检查并调整您的 CUDA 环境以匹配项目要求，或参考 PyTorch 相关议题解决版本兼容性问题。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F4",{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},19585,"如何直接使用已有的模糊图像作为输入，而不是让代码自动模糊清晰图像？","当前代码默认需要原始清晰图像用于 PSNR 评估。如果您只想对已模糊的图像进行去模糊而不进行评估，需要对代码进行少量修改。此外，您必须确保代码使用了正确的模糊核（blurring kernel）来处理您的输入图像。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F3",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},19586,"如何为自定义线性逆问题定义新的 H 函数类（例如针对特定区域的超分辨率）？","您可以引入任意矩阵 H。如果图像较小或显存充足，可以直接使用代码中提供的 `GeneralH` 类。否则，您需要高效地实现矩阵 H 的奇异值分解（SVD）。具体来说，函数 V(x) 应以内存高效的方式返回矩阵 V 与输入向量 x 的乘积。每种矩阵可能有其特定的属性允许这种高效实现，详细解释可参考论文的附录部分。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F5",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},19587,"模型在非训练集数据（如个人照片）上泛化效果不佳是什么原因？","这可能是因为预训练的 CelebA 模型在无条件生成时存在颜色偏移问题，且主要针对特定数据集优化。建议尝试使用基于 FFHQ 数据集训练的检查点（checkpoint），例如来自 ILVR-ADM 项目的模型。由于该模型也基于 OpenAI 的 ADM 架构，将其集成到当前代码中并不困难，通常能获得更好的泛化效果。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F6",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},19588,"代码是否支持 VE SDEs，还是仅支持 VP SDEs？","代码中的采样过程类似于 VE SDEs，但模型是使用 VP SDEs 训练的。目前作者没有计划提供额外的 VE 代码，但在 VE 和 VP 之间切换相对简单。具体的关系和转换方法可以在论文的附录中找到说明。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F2",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},19589,"运行 image_256_cc.yml 或 image_512_cc.yml 配置时报错缺少 \"label_emb.weight\" 键怎么办？","此错误通常与加载的状态字典（state_dict）和模型定义不匹配有关。根据社区反馈，该问题的解决方案与 Issue #8 相同（通常涉及使用正确的检查点文件或调整模型加载逻辑以匹配无条件\u002F有条件生成的权重结构）。请确保加载的检查点文件与配置文件（_cc 表示 class-conditioned）相匹配。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F7",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},19590,"实验所需的 datasets 数据包在哪里下载？","所有四个数据集都可以从 README 文件中提供的链接下载：https:\u002F\u002Fgithub.com\u002Fjiamings\u002Fddrm-exp-datasets 。","https:\u002F\u002Fgithub.com\u002Fbahjat-kawar\u002Fddrm\u002Fissues\u002F14",[]]