https://github.com/scriptburn/person-matcher
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.
https://github.com/scriptburn/person-matcher
Last synced: 4 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/scriptburn/person-matcher
- Owner: scriptburn
- License: other
- Created: 2025-04-10T07:48:53.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-04-10T08:01:06.000Z (10 months ago)
- Last Synced: 2025-06-08T06:10:12.233Z (8 months ago)
- Language: Python
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
# ๐งโโ๏ธ Person Matcher AI
A 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.
[](LICENSE)
---
## โจ Features
- ๐ค Upload multiple images
- ๐ง Detect people using YOLOv8
- ๐งฌ Extract features via TorchReID
- ๐ Visual match grouping based on cosine similarity
- ๐งฎ Auto or manual thresholding
- โ
Label match results as correct/incorrect
- ๐ฆ Save labeled pairs for training dataset
- ๐ Export dataset for COCO/CSV training
- ๐ณ Dockerized with Makefile for easy dev/prod workflows
---
## ๐ผ๏ธ Use Case
> 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.
---
## ๐ Run Locally (Dev Mode)
```bash
make build
make dev
```
Then visit: [http://localhost:8501](http://localhost:8501)
---
## ๐๏ธ Project Structure
```
person-matcher/
โโโ app/
โ โโโ detector.py # Person detection (YOLOv8 or simulated)
โ โโโ reid.py # Feature extraction and re-ID
โโโ web/
โ โโโ app.py # Streamlit frontend
โโโ data/
โ โโโ crops/ # Saved validated crop pairs
โ โโโ labels/ # labels.jsonl with group metadata
โโโ uploads/ # Temp uploaded images
โโโ runtime_crops/ # Temp detection results
โโโ Dockerfile
โโโ Makefile
โโโ requirements.txt
โโโ .gitignore
```
---
## ๐ฆ Dataset Workflow
1. Upload multiple images
2. Confirm visually matched people
3. Save labeled data
4. Export dataset for training
---
## ๐ค Exporting
- Export labeled dataset to COCO or CSV for training (coming soon)
- Future: `make export-coco` or `make export-csv`
---
## ๐งช Tech Stack
- Streamlit
- YOLOv8 (Ultralytics)
- TorchReID
- NumPy + Scikit-learn
- Docker + Makefile
---
## ๐ License
This project is licensed for **non-commercial use only**.
If you wish to use this software in a commercial product or service, please contact the author
---
## ๐ฉโ๐ป Author
Created by Rajneesh ojhaโ a passionate AI + Web developer from India ๐ฎ๐ณ
Drop a โญ if this project helped you!
---
## ๐ License File
See the [LICENSE](LICENSE) file in this repository for full details.