{"adoption": {"forks": 599, "observed_at": "2026-08-28T04:09:11.108455+00:00", "stars": 5139}, "canonical_url": "https://ross.abutalabs.com/products/watermark-removal", "card": {"archived": false, "artifact_type": "cli-tool", "description": "a machine learning image inpainting task that instinctively removes watermarks from image indistinguishable from the ground truth image ", "domain": ["image-processing", "computer-vision", "machine-learning"], "enriched": true, "function": ["image-processing", "machine-learning", "deep-learning"], "health_score": 98, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["zuruoke/watermark-removal"], "name": "zuruoke/watermark-removal", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-14T05:56:58+00:00", "repo": "zuruoke/watermark-removal", "stars": 5139, "tags": ["watermark-removal", "image-inpainting", "tensorflow", "computer-vision", "photo-restoration", "docker"], "topics": ["tensorflow", "deep-learning", "machine-learning", "python", "watermark-image"], "urls": [], "use_cases": ["remove watermarks from images", "inpaint watermarked regions in photos", "restore images to their unwatermarked ground truth", "run deep learning image inpainting on pictures", "clean up stock photo watermarks"], "what_it_is": "A machine learning tool that removes watermarks from images using deep learning image inpainting, based on Contextual Attention and Gated Convolution research. It reconstructs watermarked regions so the result is indistinguishable from the original unwatermarked image.", "when_to_avoid": ["you need a commercially licensed tool (the project is CC BY-NC)", "you need a maintained production pipeline with active support", "you want a GUI-based photo editor rather than a command-line workflow"], "when_to_choose": ["you need automated, ML-based watermark removal rather than manual editing", "you want a ready-to-run Python or Docker tool for image inpainting", "you need results that closely match the original unwatermarked image"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/watermark-removal", "repo": "zuruoke/watermark-removal", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "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:09:11.108455+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.108455+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.876103+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "172e22bf57f157313ff286532025545baa11d96b8609c58d325604d804dfb236", "fetched_at": "2026-08-28T04:09:11.108455+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zuruoke/watermark-removal"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 55}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1763, "days_push": 19, "days_rel": 89, "gap_med": null, "n_releases_24m": 1}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}