{"adoption": {"forks": 224, "observed_at": "2026-08-28T04:03:18.071049+00:00", "stars": 1031}, "canonical_url": "https://ross.abutalabs.com/products/sfmlearner-pytorch", "card": {"archived": false, "artifact_type": "library", "description": "Pytorch version of SfmLearner from Tinghui Zhou et al.", "domain": ["computer-vision", "deep-learning", "machine-learning"], "enriched": true, "function": ["deep-learning", "machine-learning", "computer-vision"], "health_score": 66, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ClementPinard/SfmLearner-Pytorch"], "name": "ClementPinard/SfmLearner-Pytorch", "platform": ["python"], "pushed_at": "2026-04-15T15:24:30+00:00", "repo": "ClementPinard/SfmLearner-Pytorch", "stars": 1031, "tags": ["depth-estimation", "ego-motion", "pose-estimation", "unsupervised-learning", "self-supervised", "disparity", "monocular-depth", "visual-odometry", "kitti", "cityscapes", "research-code", "cvpr-2017", "pytorch-implementation", "reimplementation", "gpu", "linux"], "topics": ["pytorch", "kitti", "disparity", "depth", "unsupervised"], "urls": [], "use_cases": ["estimate depth from a single camera video", "train an unsupervised depth estimation model", "recover camera pose or trajectory from video", "reproduce the SfMLearner paper results in PyTorch", "predict disparity maps from monocular images", "monocular visual odometry with deep learning", "train depth and pose networks on KITTI or Cityscapes"], "what_it_is": "A PyTorch reimplementation of SfMLearner (Zhou et al., CVPR 2017), which jointly learns monocular depth estimation and camera ego-motion from unlabeled video using photometric loss. It includes dataset preparation for KITTI and Cityscapes, training and evaluation scripts, and adds faster on-the-fly frame stacking compared to the original TensorFlow implementation.", "when_to_avoid": ["You need production-ready, state-of-the-art depth estimation rather than a research baseline", "You want an off-the-shelf pretrained model for inference without training", "You are on recent PyTorch/CUDA versions without willingness to adapt code targeting PyTorch 1.0.1 and CUDA 10", "You need stereo, multi-camera depth, or a real-time SLAM system"], "when_to_choose": ["You want to reproduce, study, or build on the SfMLearner CVPR 2017 paper", "You need a self-supervised depth-plus-ego-motion baseline trainable on KITTI or Cityscapes video", "You prefer a PyTorch codebase over the original TensorFlow implementation", "You want faster training with on-the-fly frame stacking and ground-truth comparison for validation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sfmlearner-pytorch", "repo": "ClementPinard/SfmLearner-Pytorch", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "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:18.071049+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:18.071049+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:07:24.353998+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60588cfec9d3de32967c315162dba75cf024e3da4ad8b89349af2ea0e7595781", "fetched_at": "2026-08-28T04:03:18.071049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ClementPinard/SfmLearner-Pytorch"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "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": 3240, "days_push": 140, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}