{"adoption": {"forks": 121, "observed_at": "2026-08-28T04:03:13.434793+00:00", "stars": 1012}, "canonical_url": "https://ross.abutalabs.com/products/gangealing", "card": {"archived": false, "artifact_type": "library", "description": "Official PyTorch Implementation of \"GAN-Supervised Dense Visual Alignment\" (CVPR 2022 Oral, Best Paper Finalist)", "domain": ["computer-vision", "deep-learning", "machine-learning", "image-processing"], "enriched": true, "function": ["machine-learning", "deep-learning", "computer-vision", "image-processing"], "health_score": 20, "homepage": "https://www.wpeebles.com/gangealing", "language": "Python", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["wpeebles/gangealing"], "name": "wpeebles/gangealing", "platform": ["python", "cross-platform"], "pushed_at": "2022-10-12T22:50:29+00:00", "repo": "wpeebles/gangealing", "stars": 1012, "tags": ["pytorch", "gan", "stylegan2", "dense-correspondence", "spatial-transformer", "visual-alignment", "tracking", "congealing", "research-code", "cvpr2022", "gpu", "linux"], "topics": ["cvpr", "cvpr2022", "gan", "image-manipulation", "deep-learning", "pytorch", "computer-vision", "alignment", "stylegan", "stylegan2", "tracking", "correspondence", "generative"], "urls": [], "use_cases": ["learn dense visual correspondence without labeled data", "align unaligned image datasets to a common template", "propagate edits like cartoon eyes from a template image to real videos", "run mixed reality effects on cat videos with pre-trained spatial transformers", "train a spatial transformer on StyleGAN2 samples", "evaluate self-supervised correspondence algorithms", "warp images with anti-aliased grid sampling and CUDA splatting"], "what_it_is": "Official PyTorch implementation of GANgealing, a CVPR 2022 method that trains a Spatial Transformer to densely align images using GAN-generated training data. It includes pre-trained models, training/evaluation code, and visualization tools for dense visual alignment and correspondence on real images and videos.", "when_to_avoid": ["you need a production-ready, actively maintained computer vision library", "you lack a CUDA GPU since key components require it", "your task is generic object detection or segmentation rather than dense alignment", "you need correspondence for arbitrary object categories not covered by the pre-trained GANs"], "when_to_choose": ["you need self-supervised dense correspondence or alignment without annotation", "you want to propagate annotations or edits from a template to real images/videos", "you are reproducing or building on the GAN-Supervised Dense Visual Alignment paper", "you have GPU resources and want pre-trained models for eight datasets"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gangealing", "repo": "wpeebles/gangealing", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "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:13.434793+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.434793+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:47.941370+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e77df7c262d50cfe449d36807ab9ade1f780f9561ed035afc02de1c75c940419", "fetched_at": "2026-08-28T04:03:13.434793+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wpeebles/gangealing"}, {"content_hash": "8bf8c6a84a4b43e7b660d22af85f393c772c49854d9a33ee76e9fd156615d39e", "fetched_at": "2026-08-29T13:11:32.782036+00:00", "kind": "homepage", "missing": false, "url": "https://www.wpeebles.com/gangealing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1728, "days_push": 1421, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}