{"adoption": {"forks": 2096, "observed_at": "2026-08-28T04:11:13.854977+00:00", "stars": 15704}, "canonical_url": "https://ross.abutalabs.com/products/bringing-old-photos-back-to-life", "card": {"archived": false, "artifact_type": "library", "description": "Bringing Old Photo Back to Life (CVPR 2020 oral)", "domain": ["computer-vision", "image-processing", "deep-learning", "photography"], "enriched": true, "function": ["image-processing", "machine-learning", "deep-learning"], "health_score": 20, "homepage": "https://arxiv.org/abs/2004.09484", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["microsoft/Bringing-Old-Photos-Back-to-Life"], "name": "microsoft/Bringing-Old-Photos-Back-to-Life", "platform": ["python"], "pushed_at": "2023-10-26T08:06:57+00:00", "repo": "microsoft/Bringing-Old-Photos-Back-to-Life", "stars": 15704, "tags": ["image-restoration", "gan", "pytorch", "old-photos", "photo-enhancement", "scratch-removal", "face-enhancement", "research-code", "linux", "gpu"], "topics": ["image-restoration", "old-photo-restoration", "generative-adversarial-network", "gans", "pytorch", "image-manipulation", "photo-restoration", "photos"], "urls": [], "use_cases": ["restore old damaged family photos", "remove scratches and dust spots from scanned photographs", "fix noise and blurriness in degraded images", "enhance faces in old photos", "experiment with GAN-based image restoration research", "run photo restoration on a GPU with pretrained models"], "what_it_is": "The official PyTorch implementation of 'Bringing Old Photos Back to Life' (CVPR 2020 Oral), a deep learning model that restores old photos suffering from scratches, dust, noise, and blurriness using a triplet domain translation network with VAE latent spaces. It includes pretrained models, training code, and support for high-resolution inputs.", "when_to_avoid": ["you need a production-ready, optimized service with fast inference or easy deployment", "you lack a CUDA-capable GPU", "you need general-purpose modern photo enhancement rather than old-photo-specific restoration"], "when_to_choose": ["you need to restore real old photos with mixed degradations like scratches, noise, and blur", "you want a research-grade reference implementation of the CVPR 2020 paper", "you have an Nvidia GPU and want pretrained models for photo restoration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bringing-old-photos-back-to-life", "repo": "microsoft/Bringing-Old-Photos-Back-to-Life", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "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:11:13.854977+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:13.854977+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:05:34.348885+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f1c820877ef3fa3a2309e0e58a9e790fafc3de05c79a89d679384106ce27493f", "fetched_at": "2026-08-28T04:11:13.854977+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life"}, {"content_hash": "fc3b3ed7294a02ed8a500d625a6badf1967d165e8c4ea51cf598b4a8bc418093", "fetched_at": "2026-08-29T08:03:34.454039+00:00", "kind": "homepage", "missing": false, "url": "https://arxiv.org/abs/2004.09484"}, {"content_hash": "cca9c3a11c56b1212864e03fb8a5511a3bdb6df53398ba4dd2ed778f931607dd", "fetched_at": "2026-08-29T08:03:34.463076+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/donate.html"}, {"content_hash": "47cbc55ff1deaca3f36b463373de863a7053d91cacf9f95725618e11610209ae", "fetched_at": "2026-08-29T08:03:34.466800+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about/ourmembers.html"}, {"content_hash": "a1f16f915a9ad89ee57c3e929a1b6577d481f52c05f8015fc720b16ee8014f19", "fetched_at": "2026-08-29T08:03:34.469273+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/about"}, {"content_hash": "b14a8d05a0ec337409ab63bffd91306b5317b16fac358aa6d1fe6afbaf3c8628", "fetched_at": "2026-08-29T08:03:34.464897+00:00", "kind": "site_page", "missing": false, "url": "https://info.arxiv.org/labs/index.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2261, "days_push": 1042, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}