{"adoption": {"forks": 1310, "observed_at": "2026-08-28T04:08:04.013153+00:00", "stars": 3429}, "canonical_url": "https://ross.abutalabs.com/products/text-detection-ctpn", "card": {"archived": false, "artifact_type": "library", "description": "text detection mainly based on ctpn model in tensorflow, id card detect, connectionist text proposal network", "domain": ["computer-vision", "image-processing", "machine-learning"], "enriched": true, "function": ["ocr", "computer-vision", "image-processing", "machine-learning", "deep-learning"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["eragonruan/text-detection-ctpn"], "name": "eragonruan/text-detection-ctpn", "platform": ["python"], "pushed_at": "2023-10-03T21:05:26+00:00", "repo": "eragonruan/text-detection-ctpn", "stars": 3429, "tags": ["text-detection", "ctpn", "tensorflow", "scene-text", "id-card-detection", "ocr-pipeline", "natural-language-processing", "linux", "gpu"], "topics": ["text-detection", "tensorflow", "ctpn", "id-card", "ocr", "robust-reading"], "urls": [], "use_cases": ["detect text regions in natural scene images", "locate text lines on ID cards", "build an OCR pipeline that needs text bounding boxes first", "train a CTPN model on custom horizontal text datasets", "run frozen-graph inference on a folder of images"], "what_it_is": "A TensorFlow implementation of the Connectionist Text Proposal Network (CTPN) for detecting horizontal scene text in images. It includes pretrained models for inference, training scripts, and demonstrates usage on ID card detection.", "when_to_avoid": ["you need rotated or curved text detection", "you want a maintained end-to-end OCR system with recognition included", "you need PyTorch or modern TensorFlow 2.x compatibility", "you need active community support or recent updates"], "when_to_choose": ["you need bounding-box text detection before running OCR", "you want a TensorFlow implementation of the CTPN paper", "you need to retrain a text detector on your own labeled data", "your scenes contain mostly horizontal text"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/text-detection-ctpn", "repo": "eragonruan/text-detection-ctpn", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "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:08:04.013153+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:04.013153+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:37:47.999976+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df61313bb3f3c14f26c1a28bc6de054faa14b6cec4c3ace816f0b8d140c34e37", "fetched_at": "2026-08-28T04:08:04.013153+00:00", "kind": "readme", "missing": false, "url": "https://github.com/eragonruan/text-detection-ctpn"}], "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": 3269, "days_push": 1065, "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}}