{"adoption": {"forks": 212, "observed_at": "2026-08-28T04:06:01.917630+00:00", "stars": 1983}, "canonical_url": "https://ross.abutalabs.com/products/xmem", "card": {"archived": false, "artifact_type": "library", "description": "[ECCV 2022] XMem: Long-Term Video Object Segmentation with an Atkinson-Shiffrin Memory Model", "domain": ["computer-vision", "deep-learning", "machine-learning"], "enriched": true, "function": ["computer-vision", "image-processing", "machine-learning", "deep-learning"], "health_score": 20, "homepage": "https://hkchengrex.com/XMem/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["hkchengrex/XMem"], "name": "hkchengrex/XMem", "platform": ["python", "cross-platform"], "pushed_at": "2024-11-15T19:28:38+00:00", "repo": "hkchengrex/XMem", "stars": 1983, "tags": ["video-object-segmentation", "pytorch", "eccv-2022", "memory-model", "semi-supervised-segmentation", "gui-demo", "video", "gpu", "linux"], "topics": ["computer-vision", "deep-learning", "eccv-2022", "eccv2022", "pytorch", "segmentation", "video-object-segmentation", "video-segmentation"], "urls": [], "use_cases": ["segment objects in long videos with a mask on the first frame", "track objects through occlusions in video", "annotate video frames with an interactive segmentation GUI", "run video object segmentation on very long clips without running out of GPU memory", "insert masked layers into video footage", "benchmark video object segmentation on DAVIS and long-video datasets"], "what_it_is": "XMem is a PyTorch model for semi-supervised video object segmentation that tracks objects through long videos using an Atkinson-Shiffrin-inspired multi-store feature memory. It handles videos of 10,000+ frames at roughly 20 FPS with bounded GPU memory and includes an interactive GUI for annotating frames.", "when_to_avoid": ["you need fully automatic, prompt-free video segmentation", "you only need image (single-frame) segmentation", "you want a production video-editing tool rather than a research model", "you lack a GPU, as inference speed depends heavily on CUDA hardware"], "when_to_choose": ["you need semi-supervised VOS on videos longer than a minute", "GPU memory is a constraint for long-video segmentation", "you want a fast (~20 FPS) segmentation model with an interactive annotation GUI", "you need a research-grade ECCV 2022 baseline for VOS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xmem", "repo": "hkchengrex/XMem", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "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:06:01.917630+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:01.917630+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:03:26.124359+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "40bc4aa707d2cce203fb612bcefef9498f779d0c90bd46ba92575e40a2e4c7a3", "fetched_at": "2026-08-28T04:06:01.917630+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hkchengrex/XMem"}, {"content_hash": "09fc83b66f4b2da07a130e7f6ea272bbf02d7f2467de43d61affa9f263998cec", "fetched_at": "2026-08-29T10:43:09.371484+00:00", "kind": "homepage", "missing": false, "url": "https://hkchengrex.com/XMem/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1519, "days_push": 656, "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}}