{"adoption": {"forks": 70, "observed_at": "2026-08-28T04:03:33.819704+00:00", "stars": 1094}, "canonical_url": "https://ross.abutalabs.com/products/one-pot_multi-frame_denoising", "card": {"archived": false, "artifact_type": "library", "description": "The official implementation of IJCV & BMVC 2022 paper \"One-Pot Multi-frame Denoising\".", "domain": ["computer-vision", "image-processing", "machine-learning", "deep-learning"], "enriched": true, "function": ["machine-learning", "image-processing", "computer-vision", "deep-learning"], "health_score": 62, "homepage": "https://link.springer.com/article/10.1007/s11263-023-01887-7", "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "stable", "member_repos": ["LujiaJin/One-Pot_Multi-Frame_Denoising"], "name": "LujiaJin/One-Pot_Multi-Frame_Denoising", "platform": ["python"], "pushed_at": "2026-03-02T11:00:27+00:00", "repo": "LujiaJin/One-Pot_Multi-Frame_Denoising", "stars": 1094, "tags": ["image-denoising", "unsupervised-learning", "noise2noise", "pytorch", "research-code", "bmvc-2022", "ijcv", "linux", "gpu"], "topics": ["image-denoising", "unsupervised-learning"], "urls": [], "use_cases": ["denoise images without clean training labels", "train an unsupervised denoising model from multiple noisy frames", "remove additive white Gaussian noise from photos", "handle Poisson or Bernoulli noise in images", "perform mixed-blind denoising", "remove random-valued impulse noise or text from images", "reproduce BMVC 2022 denoising paper results"], "what_it_is": "Official PyTorch implementation of the One-Pot Multi-frame Denoising (OPD) method published at BMVC 2022 and extended in IJCV. It provides unsupervised image denoising training strategies (OPD-RC and OPD-AL) that use mutual supervision among multiple noisy frames without requiring clean labels.", "when_to_avoid": ["you only have a single noisy image per scene", "you need a production-ready plug-and-play denoising application rather than research code", "you require a permissive license since the code is GPL-3.0"], "when_to_choose": ["you have multiple noisy frames of the same scene but no clean ground truth", "you need an unsupervised alternative to Noise2Clean or Noise2Noise", "you want to reproduce or build on the OPD research method"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/one-pot_multi-frame_denoising", "repo": "LujiaJin/One-Pot_Multi-Frame_Denoising", "role": "main", "score": 60}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:33.819704+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:47:27.015009+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6f8f4c360f3cb572b1f23f6dd2c3d0e3ec53b1570164245d8697bf9781b5c36c", "fetched_at": "2026-08-28T04:03:33.819704+00:00", "kind": "readme", "missing": false, "url": "https://github.com/LujiaJin/One-Pot_Multi-Frame_Denoising"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 70, "longevity": 82, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1155, "days_push": 184, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 60, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}