{"id":28199983,"url":"https://github.com/scriptburn/person-matcher","last_synced_at":"2026-07-10T09:32:48.764Z","repository":{"id":287155608,"uuid":"963783779","full_name":"scriptburn/person-matcher","owner":"scriptburn","description":"AI-powered tool to detect and match people across multiple tourist photos using object detection, person re-identification, and similarity scoring. Built with Streamlit, TorchReID, and YOLOv8.","archived":false,"fork":false,"pushed_at":"2025-04-10T08:01:06.000Z","size":10,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-08T07:27:01.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scriptburn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-10T07:48:53.000Z","updated_at":"2026-06-13T12:46:27.000Z","dependencies_parsed_at":"2025-04-10T08:44:39.772Z","dependency_job_id":"ec2c60c8-2d0f-4833-acae-d2c064e39e1f","html_url":"https://github.com/scriptburn/person-matcher","commit_stats":null,"previous_names":["scriptburn/person-matcher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scriptburn/person-matcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptburn%2Fperson-matcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptburn%2Fperson-matcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptburn%2Fperson-matcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptburn%2Fperson-matcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scriptburn","download_url":"https://codeload.github.com/scriptburn/person-matcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptburn%2Fperson-matcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35328278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-16T20:09:59.208Z","updated_at":"2026-07-10T09:32:48.745Z","avatar_url":"https://github.com/scriptburn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧍‍♂️ Person Matcher AI\n\nA Streamlit-based AI tool that detects and matches people across multiple images taken from different angles or devices — ideal for tourist photos at places like the Taj Mahal.\n\n[![License: Non-Commercial](https://img.shields.io/badge/license-non--commercial-blue.svg)](LICENSE)\n\n---\n\n## ✨ Features\n\n- 📤 Upload multiple images\n- 🧠 Detect people using YOLOv8\n- 🧬 Extract features via TorchReID\n- 📈 Visual match grouping based on cosine similarity\n- 🧮 Auto or manual thresholding\n- ✅ Label match results as correct/incorrect\n- 📦 Save labeled pairs for training dataset\n- 📁 Export dataset for COCO/CSV training\n- 🐳 Dockerized with Makefile for easy dev/prod workflows\n\n---\n\n## 🖼️ Use Case\n\n\u003e Given Image A and Image B taken at the same place by two different people, the app identifies if both images contain the same individual — even from different angles or cameras.\n\n---\n\n## 🚀 Run Locally (Dev Mode)\n\n```bash\nmake build\nmake dev\n```\n\nThen visit: [http://localhost:8501](http://localhost:8501)\n\n---\n\n## 🏗️ Project Structure\n\n```\nperson-matcher/\n├── app/\n│   ├── detector.py      # Person detection (YOLOv8 or simulated)\n│   ├── reid.py          # Feature extraction and re-ID\n├── web/\n│   └── app.py           # Streamlit frontend\n├── data/\n│   ├── crops/           # Saved validated crop pairs\n│   └── labels/          # labels.jsonl with group metadata\n├── uploads/             # Temp uploaded images\n├── runtime_crops/       # Temp detection results\n├── Dockerfile\n├── Makefile\n├── requirements.txt\n└── .gitignore\n```\n\n---\n\n## 📦 Dataset Workflow\n\n1. Upload multiple images\n2. Confirm visually matched people\n3. Save labeled data\n4. Export dataset for training\n\n---\n\n## 📤 Exporting\n\n- Export labeled dataset to COCO or CSV for training (coming soon)\n- Future: `make export-coco` or `make export-csv`\n\n---\n\n## 🧪 Tech Stack\n\n- Streamlit\n- YOLOv8 (Ultralytics)\n- TorchReID\n- NumPy + Scikit-learn\n- Docker + Makefile\n\n---\n\n## 📜 License\n\nThis project is licensed for **non-commercial use only**.\n\nIf you wish to use this software in a commercial product or service, please contact the author\n\n---\n\n## 👩‍💻 Author\n\nCreated by Rajneesh ojha— a passionate AI + Web developer from India 🇮🇳  \nDrop a ⭐ if this project helped you!\n\n---\n\n## 📄 License File\n\nSee the [LICENSE](LICENSE) file in this repository for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscriptburn%2Fperson-matcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscriptburn%2Fperson-matcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscriptburn%2Fperson-matcher/lists"}